Linux下后台运行软件

Linux下后台运行软件

1. ./xxx &

让一个软件进入后台的方法很简单,运行软件的时候加上“&”即可,比如“./hello &”就是让 hello 在后台运行。

在后台运行的软件可以使用“kill -9 pid(进程 ID)”命令来关闭掉,首先使用“ps”命令查看要关闭的软件 PID 是多少,ps 命令用于查看所有当前正在运行的进程,并且会给出进程的 PID。

总结:

软件后面加“&”、使用 ps 查看要关闭的软件 PID、使用“kill -9 pid”来关闭指定的软件。

xxx/app.exe &		#runnning app in background
ps -ef | grep app 	#searching app's PID

2. nohup ./xxx &

当我们使用 & 让软件后台运行的时候可能会发现,此时程序的输出信息还会显示在控制台中,这很影响我们操作.

所以可以使用 nohup 指令让程序的标准输出默认输出至当前目录下的 nohup.out 下。如图:

image-20220214101745104


当程序运行后,会自动生成 nohup.out 文件,使用 tail -f ./nohup.out 即可显示文件内容,并且当有更新时,自动输出显示。

如图:

image-20220214101916666

3. nohup ./xxx > xx.log 2>&1 &

但是使用上方的 nohup 可能还会有问题,当我们运行多个程序后台,并且想把程序的输出储存至不同的文件中怎么办?

这个时候就要使用 > 符号 将输出定向至 文件,如:

nohup ./a.py > py.log 2>&1 &

image-20220214102419451

运行后,会在当前路径下生成 py.log 文件

  • > 输出定向至文件
  • 2>&1 将标准错误输出定向至标准输出

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!