如何让Linux的脚本关闭终端后继续执行?

注意:AKCMS已于2019年12月27日宣布停止更新,此文档仅供老用户参考,不建议新用户选择AKCMS建站。
注意:AKCMS6.1.2已取消授权机制,文档中关于授权、服务、技术支持等的内容均已失效。

在Linux的shell终端中执行一个命令时是不能关掉终端的,否则程序也会终止。

但是有些耗时比较长的命令是无法保证一直开着终端的,费电就不说了,毕竟网络还有不稳定的时候,一掉线程序也关掉了。

解决方法是nohup命令,在程序的前面加上nohup,程序的后面加上&,这样程序就会一直执行直到结束。

比如:

nohup php spider.php &

回车,然后提示一堆东西,再次回车,回到shell界面。

这就可以了。

还有一个问题:程序在执行中会输出一些信息,如果后台执行的话,这些信息是不是没法看了?(比如:程序执行出错终端,想看看报错信息之类的)。使用了nohup命令后,会在当前目录下生成一个nohup.out的日志文件,记录的就是命令的输出。