杀死Unix操作系统不服管教的进程(4)

  第四阶段:利用系统注销功能来关闭杀不掉的进程。

  若通过关闭父进程仍然杀不死子进程的话,那么管理员还可以通过注销系统的方式来杀死进程。这就好象Windows系统注销一样,会关闭当前的所有进程与任务。不过有时候系统工程师可能不想关闭所有的进程,如一些关系到服务器运行的进程。此时,系统工程师在注销系统之前,需要采取一定的手段,让系统注销后仍然能够保持某些进程正常运转。如果系统工程师想在系统注销后仍然执行一个或者多个进程,则可以采用nohup命令。如此设置后,即使在系统注销后,在后台执行的进程仍然可以继续执行,不会终止。这个手段就可以把系统注销对于用户的不利影响降低到最低。如果Unix操作系统是企业中的一台服务器,而不是客户端,那么这个特性将会对企业很有利。

  nohup命令运行由Command参数和任何相关的Arg参数指定的命令,而忽略所有挂断信号。为此在系统注销后仍然可以使用nohup命令运行后台中的程序。注意无论是否将 nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out 文件中。如果当前目录的nohup.out文件不可写,则输出重定向到$HOME/nohup.out 文件中。如果上面这些文件都不可以用的话,那么Command参数指定的命令不可调用。故系统工程师如果事后要查看这些系统注销后仍然运行在后台进程的结果,就可以依次查看以上这两个文件。

  操作系统注销后,通常再顽固的进程都会被杀死掉。不过有时候会因为进程实在难缠,注销的过程时间可能会比较长。若操作系统在长时间后仍然无法注销的话,那只有强制重新启动电脑了。不过重新启动后很可能会出现启动故障。为此,重新启动系统来终止进程是不得已而为止的做法了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28716.html