2009年4月30日星期四

Unix.Power.Tools: 38. Starting, Stopping, and Killing Processes

fork & exec 是UNIX系统产生新进程的系统调用。

UNIX系统刚启动时,只有一个init进程。init进程再spawn一堆getty进程。

getty会给出login:提示符。用户输入login name后,getty进程exec login 命令取代自身。

login给出password提示符。如果用户输入正确的密码,login进程exec login shell取代自身。

用户在shell中输入指令,shell会fork自身,使用副本进程exec指令要求的程序。

tty 查看当前所在的终端。

ps 查看进程状态。

常见信号见表38.2。KILL和STOP信号不能被捕捉或忽略。

kill命令作用是输出信号给别的程序。kill –l 查看信号列表。

CTRL-c发送INT信号给前台进程,关闭进程之前会调用程序释放占用的资源。CTRL-\类似,但还生产一个core文件用于debug。

进程收到信号可以选择处理或忽略,Bourne shell中用trap管理信号。

整个进程组的所有进程都会收到信号,一般情况下,父进程挂了的话子进程也一起挂。

没有评论:

发表评论