守护进程是daemon(也称作精灵进程),守护进程不需要终端就可以启动起来,另外它的日志会打印到一些特殊文件中,并且占用的目录是根目录,避免占用其他目录,避免想要卸载其他目录时,报无法卸载的错误。
这里需要跟守护进程区别的是nohup 程序名 &
这样启动的程序,简称nohup程序。nohup程序会忽略hangup
(挂起)命令。
在第一个终端里边,执行tail -f /var/log/messages
,这就在前台运行。
然后再打开第二个终端,执行ps -ef | grep tail
。
然后把第一个终端关闭。
在第二个终端上,执行ps -ef | grep tail
,发现没有tail -f /var/log/messages
这个进程了。
再打开一个终端,为了方便叙述,还称这个终端为第一个终端。在第一个终端,输入nohup tail -f /var/log/messages &
,按过一下回车键启动程序之后,在nohup: ignoring input and appending output to ‘nohup.out’
底下还需要按一下回车键。
在第二个终端上,执行ps -ef | grep tail
,发现程序正常执行。
再把第一个终端关闭,然后在第二个终端上,执行ps -ef | grep tail
,发现tail -f /var/log/messages
这个进程依然正常运行。
可以在第二个终端,使用kill -9 20494
关闭这个进程,然后再使用ps -ef | grep tail
,发现tail -f /var/log/messages
这个进程已经关闭。
此文章为6月Day 29学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。