Tôi đang chạy lệnh dưới đây và giám sát tệp đầu ra trên hệ thống khác:
ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done'
Nếu tôi giết lệnh ssh bằng cách sử dụng ^Choặc chỉ bằng cách giết thiết bị đầu cuối mà tôi đã đăng nhập, tôi cũng mong lệnh từ xa cũng chấm dứt. Mặc dù vậy, điều này không xảy ra: /tmp/countnhận được tất cả các số 1 trừ5 và ps -ejHhiển thị lớp vỏ và sleepcon của nó tiếp tục chạy.
Đây có phải là hành vi dự kiến, và nó được ghi nhận ở bất cứ đâu? Tôi có thể vô hiệu hóa nó? Từ việc đọc xung quanh, tôi dự kiến sẽ phải kích hoạt một cách rõ ràng loại hành vi này với nohup, không phải là mặc định.
Tôi đã xem qua các trang hướng dẫn về ssh và sshd, nhưng không phát hiện ra điều gì rõ ràng và Google chỉ cho tôi các hướng dẫn để bật hành vi này chứ không phải để tắt.
Tôi đang chạy Red Hat Enterprise Linux 6.2, với đăng nhập gốc và bash shell trên cả hai hệ thống.
-ttthay vì-tnếu bản thân ssh không có phân bổ tty. SSH sẽ không nhận được tty được phân bổ nếu ssh được nền ngay lập tức khi gọi qua các tùy chọn như-fhoặc-n.