nohup
nohup就是不挂起的意思(no hangup)。
Linux下一般比如想让某个程序在后台运行,很多都是使用**&**在程序结尾来让程序自动运行。比如我们要运行mysql在后台:
$ /usr/local/mysql/bin/mysqld_safe --user=mysql &
但是我们很多程序并不像mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用**&结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup**这个命令,比如我们有个test.sh需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:
$ cat test.sh
echo "test"
echo "start sleeping..."
sleep 100
echo "exit"
$ nohup /root/test.sh &
[2] 98791
appending output to nohup.out
$ cat nohup.out
test
start sleeping...
exit
[1] - 98791 done nohup test.sh
提示:appending output to nohup.out,证明运行成功,同时把程序运行的输出信息放到当前目录的nohup.out文件中去。
...