后台运行命令
很多时候需要将命令放在后台执行,那么如何让命令在后台运行呢,只需要在命令后加上&即可
如:
1 | java -jar test.jar & |
查看后台进程
1 | -l 表示显示工作的PID |
但是后台进程都和终端会话联系在一起,也就是说运行进程在关闭终端之后就会终止,如何解决这个问题呢?
使用定时任务,让系统执行该命令,这样该命令就与终端无关了,不依赖所登录的终端
使用nohup命令,使得后台命令在离开操作终端也可以正确的在后台执行,nohup的作用就是不挂断的运行命令,nohub命令运行了另一个命令来阻断所有发送给该线程的SIGHUP信号,使得退出终端时阻止进程退出
1
2nohup [命令] &
例:
1
2
3
4nohup ./Test 1>/dev/null 2>log &
把命令的标准输出保存到日志文件test.log中 再将错误输出保存到参数1中,即test.log文件中
nohup ./Test test.log 2>&1 &