在linux命令行中执行程序,程序通常会占用当前终端,如果不启动新的终端就没法执行其他操作。而且一旦关闭客户端,执行中的程序也会中断。下面就给大家介绍几种简单方法,使程序在Linux 环境下后台不间断执行

要使程序在后台执行,简单可以通过 '&' 将程序放到后台执行。

但是这种方法有个问题就是,一旦连接远程服务器的网络异常或者本机ssh客户端、系统等关闭亦或出现问题导致连接断开,那么放到后台执行的程序就会被终止

比如:

后台执行:php cli.php &
显示到前台用命令:fg
又让在后台执行命令:Ctrl+z

但对于需要长时间运行的守护进程或者服务端程序,这种异常断开造成的进程终止不可接受。下面就介绍一种解决这种问题的通用方案。

nohup 命令 &  ,  客户端关了,后台还会在执行。

比如:nohup php cli.php &

nohup命令会将所执行的命令的标准输出重定向到当前目录的 nohup.out 文件中。

另外还有插件形式,可使用 screen命令tmux命令,大家有兴趣可以自行尝试。

本文为 陈华 原创,欢迎转载,但请注明出处:http://www.ichenhua.cn/read/28