执行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看不到的原因了。


相关文章
|
3月前
|
安全 Linux Apache
40、命令执行介绍
40、命令执行介绍
15 0
|
10月前
|
Linux Perl
执行`pod mpaas`找不到命令
执行`pod mpaas`找不到命令
129 2
|
11月前
|
JavaScript
解决报错问题:‘ts-node‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决报错问题:‘ts-node‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
736 0
|
分布式计算 关系型数据库 MySQL
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
快速学习 Job 作业的使用--创建、查看、执行、删除
291 0
Job 作业的使用--创建、查看、执行、删除 | 学习笔记
Cypress系列(47)- 操作上一条命令返回结果的命令
Cypress系列(47)- 操作上一条命令返回结果的命令
147 0
|
运维 数据库
DO447管理任务执行--运行选定的任务
DO447管理任务执行--运行选定的任务
146 0
DO447管理任务执行--运行选定的任务
|
Shell
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
shell之通过if [ $? != 0 ]判断上次程序是否执行成功
534 0
|
应用服务中间件 Linux nginx