Linux 后台运行、挂起、恢复进程相关命令

参考

环境

软件/系统 版本 说明
Centos 7.6 64位

正文

  • ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态。
  • jobs 查看当前有多少在后台运行的命令
  • jobs -l 选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。
  • fg 将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。
  • bg 将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。
  • kill
    1:通过jobs命令查看job号(假设为num),然后执行kill %num ,如:kill %1
    2:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid,如:kill 10900
  • ctrl+c 前台进程的终止:

&

在运行命令后面加上&,程序就会放到后台执行,不会占用终端,但在用户关闭终端时会结束运行。

$(ping baidu.com) &

nohup

使终端关闭时依旧保持运行,适合执行一些服务的运行。

nohup $(ping baidu.com) &

缺省情况下,该程序所有的输出会导出到nohup.out文件,可以通过指令使输出重定向到指定的文件,如:

nohup $(ping baidu.com) > pings.log 2>&1 &

输出就重定向到了 pings.log 文件,其中 2>&1 表示将错误输出重定向到标准输出,最后一个&依旧表示后台运行

screen

没有使用,仅作记录

如果有大量命令需要在稳定的后台里运行,此时最方便的方法就是 screen 了。

posted @ 2024-06-15 07:37  夏秋初  阅读(36)  评论(0编辑  收藏  举报