我可以在ssh会话中禁用/恢复现有的tar进程启动吗?

首先,如果我停止一个tar进程,它会从停止的地方恢复,还是需要重新遍历所有的目录(很多目录和文件)。

其次,我是否正确“否认”这个过程?

  1. ssh'd到我的Linux(Ubuntu的)服务器。

  2. 我用“tar -cf /mnt/backup.tar / var / www”启动了一个进程,

  3. 几个小时后,这个过程仍在运行,我需要closures我的台式电脑。

  4. 我按下Ctrl + Z来暂停进程,

  5. 然后运行'bg'在后台恢复。

  6. 然后运行“disown -h tar”

  7. 然后跑'PS人造'

    root 8760 0.0 0.1 8964 3036 ? Ss Aug21 0:21 \_ sshd: root@pts/0 root 8762 0.0 0.1 4408 1880 pts/0 Ss+ Aug21 0:00 | \_ -bash root 23184 0.2 0.0 3708 1072 pts/0 D Aug24 3:30 | \_ tar -cf /mnt/backup.tar www/ 
  8. 我看到了tar命令,它的“STAT”列显示D.这是否意味着分离?

  9. 我不太确定这个“工作”究竟是什么,我认为是“焦油”。

请让我知道,如果我在做什么是正确的,现在是安全的注销和closuresSSH会话。 会讨厌不得不重新启动这个过程。

另外请注意,这个问题已经在这里得到了一些回答: 我可以禁止/屏蔽已经启动的进程吗?

但是,我对这个问题的延伸是因为我对使用不了解和实际上是一个“工作”有点困惑。

当您退出交互式bashloginshell时,它会向所有子级发送SIGHUP,除非将shell选项huponexit设置为off。

当大多数用户态进程收到SIGHUP时,它们将退出。

当你disown -h ,你正在标记这个进程来防止bash在退出时发送一个SIGHUP,而不pipeshell的选项。 你也可以在nohup前面加上前缀来重现这种相同的行为。

至于STAT D:

不可中断的睡眠状态是不能处理信号的睡眠状态(例如等待磁盘或networkingIO(input/输出))。