Linux命令后台执行的方法

廖雪峰 / 文章 / ... / Reads: 9679 Edit

当进程不是守护进程时,不能简单地在命令行后添加一个&,当终端关闭时,该进程也随之关闭。因为通常在终端起动的进程其父进程是终端进程。当终端关闭时,其所有子进程也随之关闭。使进程在后台执行需要使用nohup命令:

nohup command > out.log 2>&1 &

nohup的作用是将进程的父进程设置为1,即init进程,这样终端关闭时,不会影响该进程。

使用2>&1将标准错误输出也重定向到标准输出中,因为预定义的STDIN,STDOUT,STDERR分别是0,1,2。

Comments

Make a comment

Author: 廖雪峰

Publish at: ...

关注公众号不定期领红包:

加入知识星球社群:

关注微博获取实时动态: