首先,如果我停止一个tar进程,它会从停止的地方恢复,还是需要重新遍历所有的目录(很多目录和文件)。
其次,我是否正确“否认”这个过程?
我ssh'd到我的Linux(Ubuntu的)服务器。
我用“tar -cf /mnt/backup.tar / var / www”启动了一个进程,
几个小时后,这个过程仍在运行,我需要closures我的台式电脑。
我按下Ctrl + Z来暂停进程,
然后运行'bg'在后台恢复。
然后运行“disown -h tar”
然后跑'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/
我看到了tar命令,它的“STAT”列显示D.这是否意味着分离?
我不太确定这个“工作”究竟是什么,我认为是“焦油”。
请让我知道,如果我在做什么是正确的,现在是安全的注销和closuresSSH会话。 会讨厌不得不重新启动这个过程。
另外请注意,这个问题已经在这里得到了一些回答: 我可以禁止/屏蔽已经启动的进程吗?
但是,我对这个问题的延伸是因为我对使用不了解和实际上是一个“工作”有点困惑。
当您退出交互式bashloginshell时,它会向所有子级发送SIGHUP,除非将shell选项huponexit
设置为off。
当大多数用户态进程收到SIGHUP时,它们将退出。
当你disown -h
,你正在标记这个进程来防止bash在退出时发送一个SIGHUP,而不pipeshell的选项。 你也可以在nohup
前面加上前缀来重现这种相同的行为。
至于STAT D:
不可中断的睡眠状态是不能处理信号的睡眠状态(例如等待磁盘或networkingIO(input/输出))。