linux让程序在后台运行的两种方式

1.nohup

例:

nohup java -jar xxx.jar >>test.log &1 &

注意此处不要在大循环里面打印日志,比如  5W次循环 log.info("xxx"),因为会占满日志,导致磁盘满

附:

>>是追加内容到日志文件里,只有一个>的话会覆盖源文件内容

nohup是永久执行

&是指在后台运行

操作系统中有三个常用的流:
  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 yourname -> 远程detach某个session

screen -d -r yourname -> 结束当前session并回到yourname这个session





你可能感兴趣的:(nohup,screen,linux)