Linux让命令在后台执行

版权声明: https://blog.csdn.net/qq_32157851/article/details/89174042

1、Linux下一般比如想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行。比如我们要运行mysql在后台:

/usr/local/mysql/bin/mysqld_safe --user=mysql &

 上面这条命令就是直接在命令的最后加上&这个就会在后台运行了。

2、但是我们很多程序并不像mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用&结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个idea.sh需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:

nohup ./idea.sh  &

上面这条命令就是让idea在后台执行,并且将输出的日志默认输出到 nohup.out 中。 

3、如果我们呢不想把输出的日志放到nohup.out文件中,可以直接放到/dev/null中删掉。可以使用下面的命令:

nohup   ./idea.sh  > /dev/null   2>&1  &

对上面的命令进行解释:

 ./idea.sh  >  /dev/null是将 ./idea.sh 的输出重定向到 /dev/null,即输出内容不打印到屏幕上,而是将输出扔到垃圾桶里面。2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了/dev/null,即将标准出错也输出到/dev/null中。最后一个& , 是让该命令在后台执行。

猜你喜欢

转载自blog.csdn.net/qq_32157851/article/details/89174042
今日推荐