这个时候,我们往往使用nohup命令。这个命令的意思是 no hang up(不挂起),也就是说,当前交互命令行退出的时候,程序还要在。当然这个时候,程序不能霸占交互命令行,而是应该在后台运行。最后加一个 &,就表示后台运行。另外一个要处理的就是输出,原来什么都打印在交互命令行里,现在在后台运行了,输出到哪里呢?输出到文件是最好的。最终命令的一般形式为nohup command >out.file 2>&1 &。这里面,“1”表示文件描述符 1,表示标准输出,“2”表示文件描述符 2,意思是标准错误输出,“2>&1”表示标准输出和错误输出合并了。合并到哪里去呢?到 out.file 里。

    那这个进程如何关闭呢?我们假设启动的程序包含某个关键字,那就可以使用下面的命令。

    1. ps -ef |grep 关键字 |awk '{print $2}'|xargs kill -9