设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2265|回复: 0
收起左侧

[原创] 【红帽RHCSA/RHCE/RHCA--Linux专题】退出bash后再运行jobs命令为什么不会显示后台

[复制链接]
发表于 2023-2-20 15:34:05 | 显示全部楼层 |阅读模式
今天给大家分享一个红帽Linux专题——
退出bash后再运行jobs命令为什么不会显示后台
文末有原文链接,需要的可以下载哈!
2-13.jpg
为什么 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 终端多路复用工具来执行后台任务; 这样就可以重新登录
后再连接到对应的虚拟终端屏幕上查看后台任务。


退出bash后再运行jobs命令为什么不会显示后台任务(已发).pdf (118.93 KB, 下载次数: 3)

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-8 01:32 , Processed in 0.051921 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表