Tag Archives

2 Articles

Linux 登录后各脚本的调用(尤指 Bash )

Tl;dr RTFM!

昨天在折腾终端的 TERM 环境变量时总算正面遇上了之前就疑惑过的一个问题: bashrc 、 profile 、 xprofile 等等这些文件究竟是在何时、何种情况下被谁调用的呢?其实要弄清楚这个问题也很简单,阅读 Bash 的 manpage 就有很大帮助,再结合着看一些桌面管理器自带的脚本代码和做一点实验,就能弄得很明白了。这里就记录一下最终结果,略去实验过程了。

Read More

关于Linux Shell的信号trap功能你必须知道的细节

信号处理(Signal Handling)在 Linux 编程中一直扮演者重要的角色,几乎每个系统工具都要用到它,最常见的功能莫过于用信号进行进程间通信(尤其是父子进程)以及捕捉SIGINT、SIGTERM之类的退出信号以做一些善后处理(cleanup)。C中自不必多说,可以使用 wait 族函数;而 shell 脚本中也有捕捉信号的 trap 功能——然而许多人在使用 trap 功能的时候却存在着这样那样的误解,这些看似无关紧要的小细节最后有可能使得你的脚本与你预想的行为完全不同。

Read More