遠端登入時,如何下達指令拷貝大檔案,登出後工作仍會繼續

遠端登入時,如何下達指令拷貝 100G 的檔案,然後登出,而工作仍會繼續

使用nohup

nohup cp -a /home/dkben/bt/finished/ /media/usbhd/ &

nohup 會輸出 log 檔到 nohup.out,按 Enter 可回到指令

nohup: ignoring input and appending output to `nohup.out'

如何查看工作是否有在運行,使用 pstree 指令,可以看到指令 cp 出現在 bash 後面,處於 bash 的背景裡

root@ubuntu:~# pstree
init─┬─apache2───5*[apache2]
     ├─atd
     ├─cron
     ├─fail2ban-server───14*[{fail2ban-serve}]
     ├─6*[getty]
     ├─mount.ntfs
     ├─mysqld───11*[{mysqld}]
     ├─nmbd
     ├─python
     ├─rsyslogd───3*[{rsyslogd}]
     ├─smbd───2*[smbd]
     ├─sshd───sshd───sshd───bash───bash─┬─cp
     │                                  └─pstree
     ├─udevd───2*[udevd]
     ├─upstart-udev-br
     ├─vsftpd
     └─winbindd───3*[winbindd]

登出後,重新登入後再下達一次 pstree 會看到 cp 指令出現在系統的背景裡運作

root@ubuntu:~# pstree
init─┬─apache2───5*[apache2]
     ├─atd
     ├─cp
     ├─cron
     ├─fail2ban-server───14*[{fail2ban-serve}]
     ├─6*[getty]
     ├─mount.ntfs
     ├─mysqld───11*[{mysqld}]
     ├─nmbd
     ├─python
     ├─rsyslogd───3*[{rsyslogd}]
     ├─smbd───2*[smbd]
     ├─sshd───sshd───sshd───bash───bash───pstree
     ├─udevd───2*[udevd]
     ├─upstart-udev-br
     ├─vsftpd
     └─winbindd───3*[winbindd]

另外,雖然網路上資料說遠端登入下達 cp 指令放在背景後,如果此時登出工作會中斷,但我似乎沒遇過…

cp -a /home/dkben/bt/finished/ /media/usbhd/ &