Nếu mvđược bắt đầu như:
ssh host mv x y
Sau đó mvsẽ nhận được SIGPIPE (và chết) nếu nó cố gắng viết bất cứ điều gì vào thiết bị xuất chuẩn hoặc thiết bị xuất chuẩn (như thông báo lỗi).
Nếu bạn bắt đầu một phiên tương tác như:
ssh host
Và bắt đầu mvtừ lớp vỏ tương tác trong đó, khi phía chính của thiết bị đầu cuối giả bắt đầu sshdsẽ bị đóng (khi sshđóng kết nối TCP khi thoát), người lãnh đạo phiên liên kết với phía nô lệ của thiết bị đầu cuối giả, rằng là vỏ tương tác từ xa, sẽ nhận được tín hiệu SIGHUP (gác máy).
Khi nhận được tín hiệu đó, các shell (trừ khi bạn phát ra a trap '' HUP) thường chuyển tiếp tín hiệu đó đến tất cả các quy trình trong công việc mà chúng đã bắt đầu, trừ khi bạn nói rõ ràng là không (như với disownhoặc với &|một số shell).
Các quy trình khác (như mv) thường sẽ chết khi nhận được tín hiệu đó trừ khi chúng được yêu cầu bỏ qua nó (bằng cách sử dụng nohuphoặc nếu cha mẹ của chúng bỏ qua nó).
Nếu bạn đã ban hành một:
trap '' HUP
Sau đó, tất cả các công việc bắt đầu sau khi nó sẽ kế thừa nó và sẽ bỏ qua SIGHUP.
Shell sẽ không chết vì tín hiệu SIGHUP được gửi khi ngắt kết nối nhưng sẽ thoát ở dấu nhắc tiếp theo, vì stdin của nó không còn nữa. Khi thoát ra, một số shell gửi SIGHUP đến các công việc (không bị từ chối) của chúng. Những người bắt đầu sau khi trap '' HUPsẽ bỏ qua nó, những người khác sẽ chết.
Nói tóm lại, trong trường hợp đó, trừ khi bạn thực hiện các biện pháp phòng ngừa trước để nó không xảy ra, bạn mvsẽ chết.
Để tránh lần sau, nếu sử dụng tcsh, zshhoặc bash, trước khi tắt máy, nhấn Ctrl-Zđể tạm dừng mv, nhập bgđể tiếp tục ở chế độ nền và disownđể từ chối .
Hoặc bạn có thể sử dụng screenhoặc tmux. Khi có SIGHUP, những ứng dụng đó sẽ tách ra khỏi thiết bị đầu cuối máy chủ hiện tại của chúng, nhưng các ứng dụng đang chạy trong thiết bị đầu cuối mà nó mô phỏng sẽ tiếp tục chạy không đầu và bạn có thể gắn lại phiên này sang thiết bị đầu cuối khác để xem cách thức hoạt động mv.
Hoặc sử dụng nohup mvđể làm cho mvmiễn dịch với SIGHUP và có đầu ra và lỗi của nó đi đến một nohup.outtệp mà bạn có thể kiểm tra sau.
Bây giờ, tôi không biết về nhà cung cấp dịch vụ lưu trữ cụ thể của bạn, nhưng với một số người, khi bạn sshvào ví dụ, bạn không bắt đầu một phiên shell ở đó mà chỉ gắn vào bảng điều khiển, đó là phiên đã được bắt đầu và khi bạn thoát, bạn không chấm dứt phiên đó, chỉ tách ra khỏi phiên đó. Vì vậy, cái vỏ không bị giết, cũng không mv. Nếu đó là trường hợp, bạn sẽ nhận thấy rằng pschạy từ đó sẽ cung cấp cho bạn giống nhau pidcho vỏ của bạn qua hai sshphiên riêng biệt .