在linux命令行中执行程序,程序通常会占用当前终端,如果不启动新的终端就没法执行其他操作。而且一旦关闭客户端,执行中的程序也会中断。下面就给大家介绍几种简单方法,使程序在Linux 环境下后台不间断执行。
要使程序在后台执行,简单可以通过 '&' 将程序放到后台执行。
但是这种方法有个问题就是,一旦连接远程服务器的网络异常或者本机ssh客户端、系统等关闭亦或出现问题导致连接断开,那么放到后台执行的程序就会被终止。
比如:
后台执行:php cli.php &
显示到前台用命令:fg
又让在后台执行命令:Ctrl+z
但对于需要长时间运行的守护进程或者服务端程序,这种异常断开造成的进程终止不可接受。下面就介绍一种解决这种问题的通用方案。
nohup 命令 & , 客户端关了,后台还会在执行。
比如:nohup php cli.php &
nohup命令会将所执行的命令的标准输出重定向到当前目录的 nohup.out 文件中。
另外还有插件形式,可使用 screen命令 和 tmux命令,大家有兴趣可以自行尝试。
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/28
- 下一篇:
- 我对自己技术道路的思考