离线下载
PDF版 ePub版

见证大牛成长之路 · 更新于 2017-09-22 07:00:29

shell 学习小结四

进程小结

在以上文章中,我差不多说了很多关于建立,列出,控制,调度与删除进程,还有如何将信号传递给它,以及如何追踪他们的系统调用。由于进程执行与私有地址空间中,因此它们不会彼此干扰,也不需要特别花费大力气写程序让他们在同一时间执行。

进程都可捕捉所有的信号 (只有两个例外),他们要不就是忽略它,要不就是相应期待的操作,无法捕捉的两个信号信号时 KILLSTOP,都是为了确保如果有腥味不当的进程都可以马上删除或暂停,需要执行清理操作的程序,像是存储活动中的文件,重设终端机模式,或是删除锁定,通常都会捕捉一般信号; 否则,绝大多数无法捕捉的信号,都会导致进程中止。有了 trap 命令,将简单的信号处理加入 shell 脚本里就更容易了。

最后,我大体说了各种不同的延迟与控制进程执行的机制。sleep 为撰写 shell 脚本时最好用的一个,不过其他命令还是各有其不可获取的用途。