【Linux专题】退出bash后再运行jobs命令为什么不会显示后台任务
  gfZJGExlM4kK 2023年11月22日 22 0

原创: 厦门微思网络

为什么 jobs 命令无法显示后台运行任务

系统管理员有时会将任务放在后台运行,并通过 jobs 命令查看后台任务的数量,但有时 jobs 的输出结果并不尽如人意,请看以下例

▶ 例: 运行后台任务后退出 bash 然后再次登录,再次执行 jobs 命令

[root@localhost ~]# ping 1.1.1.1 &>file &
[1] 15336
[root@localhost ~]# jobs
[1]+ Running ping 1.1.1.1 &>file &
[root@localhost ~]# exit
logout
Connection closed.
[root@localhost ~]# jobs
[root@localhost ~]# ps -p 15336
    PID TTY TIME CMD
15336 ? 00:00:00 ping
[root@localhost ~]#

此时会发现重新登录后,执行了 jobs 命令但没有显示任何"后台任务",但直接查询 PID 则可以看到后台任务其实还在运行中(上图中 TTY 列显示 ? 表示进程是后台进程)



根本原因


这是因为 jobs 只会显示从属于同一个 shell 启动的后台任务; 当用户退出原本的 bash 后,再次登录后的 bash 就不是原先执

行后台任务的 bash 了



解决方案


使用 tmux 终端多路复用工具来执行后台任务; 这样就可以重新登录后再连接到对应的虚拟终端屏幕上查看后台任务。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   31   0   0 linux网卡
  wwLZeziuqjLR   2023年12月08日   103   0   0 Dockercentosbash
  nIt0XG0acU8j   2023年12月11日   32   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   39   0   0 linuxsort
gfZJGExlM4kK