|
Ctrl+z导致进程的停止,而向进程发送SIGCONT信号则会恢复进程的运行。我试了一下,首先执行less命令查看一篇长文档,当less显示完一屏后暂停,此时按下Ctrl+z,less进程停止了并且释放了终端。这时,我可以向其发送SIGCONT信号,但less并没有恢复前台执行。
root [ ~ ]# less readme.txt # 执行less
[1]+ Stopped less readme.txt # 按Ctrl+z停止less进程
root [ ~ ]# ps # 查看less进程的PID
PID TTY TIME CMD
2914 pts/0 00:00:00 bash
2987 pts/0 00:00:00 less
2988 pts/0 00:00:00 ps
root [ ~ ]# kill -s SIGCONT 2987 # 向less进程发送SIGCONT信号,但less并没有回到前台运行
root [ ~ ]# kill -9 2987 # 杀死less进程
但是用fg命令却可以恢复less的运行。
root [ ~ ]# less readme.txt # 执行less
[1]+ Stopped less readme.txt # 按Ctrl+z停止less进程
root [ ~ ]# fg # 执行fg命令可以恢复到前台
虽然进程的停止和后台运行是不同概念,但是less进程既然已经接收到SIGCONT信号,那么它应该恢复到sleep状态,我不明白为何它不能到前台运行? |
|