⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfstop.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
/*	@(#)rfstop.c 1.1 92/07/30 SMI 	*//*	Copyright (c) 1984 AT&T	*//*	  All Rights Reserved  	*//*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*//*	The copyright notice above does not evidence any   	*//*	actual or intended publication of such source code.	*//* #ident	"@(#)dustop:dustop.c	1.9" */#include <stdio.h>#include <time.h>#include <errno.h>#include <sys/signal.h>#include <rfs/rfsys.h>#include <rfs/nserve.h>#define ERROR(str)	fprintf(stderr, "%s: %s\n", argv[0], str)extern int errno;main( argc, argv )int   argc;char *argv[];{	char cmd[512];	if (argc != 1) {		ERROR("extra arguments given");		ERROR("usage: rfstop");		exit(1);	}	if (getuid() != 0) {		ERROR("must be super-user");		exit(1);	}	signal(SIGHUP,  SIG_IGN);	signal(SIGINT,  SIG_IGN);	signal(SIGQUIT, SIG_IGN);	/*	 *	Issue the rfstop(2) system call to stop all 	 *	kernel functions of Distributed UNIX.	 */	if (rfstop() < 0) {		if (errno == EBUSY)			ERROR("remote resources currently mounted");		else if (errno == ESRMNT)			ERROR("remote clients are using local resources");		else if (errno == EADV)			ERROR("resources are still advertised");		else			perror(argv[0]);		ERROR("cannot stop RFS");		exit(1);	}#ifdef NAMESERVER	/*	 *	Execute the shell script to stop the name server	 *	process and have the name server relinquish primary	 *	responsibilities, if necessary.	 */	system("rfadmin -p >/dev/null 2>&1");	sprintf(cmd, "kill `cat %s 2>/dev/null` 2>/dev/null", NSPID);	if (system(cmd) != 0) {		ERROR("error in killing name server");		rfsys(RF_LASTUMSG);		exit(1);	}#endif NAMESERVER	/*	 *	Kill the user-level daemon that accepts masseges from	 *	other systems by sending a "last message' signal.	 */	rfsys(RF_LASTUMSG);	exit(0);	/* NOTREACHED */}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -