小记(二)


后台模式,在脚本后加上 &, 如运行一个写好的脚本./test &,
之后第一行会显示[1] *****(*为数字),[]里的是shell分配给后台进程的作业编号,后面的*****是linux系统给进程分配的PID(所有linux上的进程都必须有一个唯一的PID)。

用PS即可查看后台运行的程序,如 ps au。
这里值得强调的一点是,有些后台程序是会在终端这个母体下“生存”的,如果关掉一个终端会话,这些程序也是会OVER的,所以如果希望在注销控制台后脚本继续后台运行,需要执行下面的操作。

使用nohup,如nphup ./test &,nohup会阻塞发送到进程的任何SIGHUP信号,所以关闭会话控制台后,该脚本可以继续运行。
因为nohup将进程和终端分开,所以进程没有sTDIIN,STDERR的输出链接,为接收输出,nohup将自动将STDIN,STDERR重定向到nohup.out的文件。
注意:这里要强调的是,如果你在同一个目录下,使用nohup运行多个脚本,这时所有的输出都会指向同一个nohup.out中,可能造成混淆.

对于作业的控制,因多看看这几个命令,jobs,bg,fg,nice,renice。

作者: Sea_Giggs   发布时间: 2010-09-08