执行jobs命令查看不到任务的原因终于找到了

简介: 背景执行nohup command &后,断开终端,执行jobs命令查看不到任务的原因,终于找到了。首先执行完如下步骤:1.nohup scp user@server:path/file localpath2.输入密码3.按Ctrl+Z挂起当前进程4.使用命令bg让挂起的进程继续运行

背景


执行nohup command &后,断开终端,执行jobs命令查看不到任务的原因,终于找到了。

首先执行完如下步骤:

1.nohup scp user@server:path/file localpath

2.输入密码

3.按Ctrl+Z挂起当前进程

4.使用命令bg让挂起的进程继续运行

然后断开终端,之后再重新打开终端,执行jobs命令查看不到任务。


分析原因如下


jobs 是查看当前终端的后台作业。


具体原因分析


jobs是查看当前后台作业(进程),是获取本次bash进程下子进程的后台作业。

当本次终端退出后,后台作业变成孤儿进程,孤儿进程有系统父进程接管。

当再次连接终端时,原作业与当前终端,不存在关系父子关系,故看不到进程。

但是原作业,会在系统中一致运行,直到完成或被停止。

这就是为什么终端退出后,jobs看不到的原因了。


相关文章
|
6月前
|
安全 Linux Apache
40、命令执行介绍
40、命令执行介绍
37 0
|
Linux Perl
执行`pod mpaas`找不到命令
执行`pod mpaas`找不到命令
161 2
|
分布式计算 关系型数据库 MySQL
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
快速学习 Job 作业的使用--创建、查看、执行、删除
385 0
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
|
运维 数据库
DO447管理任务执行--运行选定的任务
DO447管理任务执行--运行选定的任务
167 0
DO447管理任务执行--运行选定的任务
Cypress系列(47)- 操作上一条命令返回结果的命令
Cypress系列(47)- 操作上一条命令返回结果的命令
181 0
|
Shell
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
674 0
在windowService用Process.Start()启动程序没有界面-记录
原文:在windowService用Process.Start()启动程序没有界面-记录 1.在服务程序安装时编程实现,ProjectInstaller.cs   using System; using System.
1012 0
|
应用服务中间件 Linux nginx
下一篇
无影云桌面