1.nohup
例:
nohup java -jar xxx.jar >>test.log &1 &
注意此处不要在大循环里面打印日志,比如 5W次循环 log.info("xxx"),因为会占满日志,导致磁盘满
附:
>>是追加内容到日志文件里,只有一个>的话会覆盖源文件内容
nohup是永久执行
&是指在后台运行
操作系统中有三个常用的流:
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
2.screen
linux下安装:
centos: yum install screen
ubuntu: apt-get install screen
screen -S yourname -> 新建一个叫yourname的session
然后在里面执行你要执行的程序
比如java -jar xxx.jar
然后ctrl+alt+d退出会话
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d -r yourname -> 结束当前session并回到yourname这个session