Linux后台运行程序与指定输出文件

作者:Gakki

后台启动运行

  • linux 后台运行命令有两种方式:
    1. cmd &:后台运行,关掉终端会停止运行
    2. nohup cmd &:后台运行,关掉终端不会停止运行

方式一:cmd &

  • cmd & 实现让命令在后台运行,但关掉终端会停止运行。
  • 注:不要将有用户交互的命令放到后台,这样命令会在后台等待用户输入。后台运行的命令也会将结果输出到控制台上,如果不需要的话,可以将其重定向到某个文件中。

方式二:nohup cmd &

nohup java -jar xxx.jar &

  • nohup 命令:忽略所有挂起信号,当窗口关闭时,程序仍然运行。
  • & 符号:程序后台运行。

注:

  1. nohup 命令可以让程序忽略所有挂起信号,被运行的程序的输出信息将不会显示到终端。无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。
  2. nohup 只有在使用 exit 命令正常退出终端,才能保证命令一直在后台运行。终端异常退出后台命令也会停止运行。

指定输出文件

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

  • xxx.log 就是指定的输出文件,如果不指定,默认在 jar 包所在目录,创建 nohup.out 文件
  • xxx.file:将输出重定向到 xxx.file 文件,也就是将内容输出到 xxx.file 文件中。
其他相关命令
  • ctrl + z:将正在前台执行的命令放到后台,且让命令处于暂停状态。
  • jobs:查看当前有多少在后台运行的命令,-l选项可显示所有任务的PID。
  • fg:将后台命令放回前台运行。
  • bg:将嵌套命令放到后台运行

你可能感兴趣的:(Linux后台运行程序与指定输出文件)