Tôi đang chạy nhiều lệnh trên dòng lệnh được phân tách bằng dấu chấm phẩy:
cmd1; cmd2; cmd3
Nếu tôi nhấn Ctrl+ Cở trên, nó sẽ giết tất cả các lệnh thay vì chỉ một lệnh hiện đang thực thi.
kartik@kartikpc:~/junk/exp$ ls
test1 test2
kartik@kartikpc:~/junk/exp$ cat; ls
cat is running
cat is running
^C
kartik@kartikpc:~/junk/exp
Nhưng Ctrl+ Zsẽ chỉ tạm dừng quá trình hiện tại và tiếp tục với quy trình tiếp theo.
kartik@kartikpc:~/junk/exp$ ls
test1 test2
kartik@kartikpc:~/junk/exp$ cat; ls
cat is running
cat is running
^Z
[1]+ Stopped cat
test1 test2
kartik@kartikpc:~/junk/exp$
Tại sao có sự phân tán trong hành vi, và có cách nào để thực hiện Ctrl+ Chành xử như Ctrl+ Z?
Tôi thực sự đang chạy một máy chủ thông qua phiên tmux như sau node app.js; $bash
và khi tôi thực hiện Ctrl+ Cđể giết máy chủ, nó cũng sẽ giết bash. Tôi muốn trở về vỏ. Có cách nào khác để đạt được hành vi tôi muốn không?
[CẬP NHẬT]
tcsh
hành xử tương tự với Ctrl+ Cvà Ctrl+ Z. Nó sẽ luôn hành động trên tất cả các lệnh giống như bash đang làm với onlt Ctrl+ C. Nhưng mang lại công việc với fg
sẽ chỉ mang lại cat
và không ls
.
[kartika@vm-kartika-vnc ~/junk]$ ls
file1 file2
[kartika@vm-kartika-vnc ~/junk]$ echo $SHELL
/bin/tcsh
[kartika@vm-kartika-vnc ~/junk]$ cat; ls
cat is running
cat is running
^C
[kartika@vm-kartika-vnc ~/junk]$ cat ; ls
cat is running
cat is running
^Z
Suspended
[kartika@vm-kartika-vnc ~/junk]$ jobs
[1] + Suspended cat
[kartika@vm-kartika-vnc ~/junk]$ fg
cat // Pressing ctrl-d here to exit cat
[kartika@vm-kartika-vnc ~/junk]$
Thông tin hệ thống:
kartik@kartikpc:~/junk/exp$ uname -a
Linux kartikpc 3.13.0-70-generic #113-Ubuntu SMP Mon Nov 16 18:34:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
kartik@kartikpc:~/junk/exp$ echo $SHELL
/bin/bash
grep SigIgn /proc/$$/status
4 bit ở vị trí thấp nhất? Đó thường là trường hợp. Sau đó, bạn có thể gõ Control-backslash để gửi SIGQUIT để hủy công việc nền trước mà không làm cho shell loại bỏ phần còn lại của dòng lệnh. Nhưng nó có thể tạo ra một kết xuất cốt lõi của công việc nền trước, tùy thuộc vào cấu hình của bạn.