1.不同的 Shell
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/false
root:x:0:0:root:/root:/bin/nologin
/bin/false : 禁止此用户在该主机上的活动
/bin/nologin 同样禁止用户在该主机上登陆,与 false 不同的是,nologin 并不禁止此用户使用特定系统服务。
echo $SHELL // 查看登陆shell
echo $0 //查看用户当前使用的shell类型
2.任务退出的元凶 : SIGHUP 信号
进程组:一个或多个进程的集合,每个进程组有唯一一个进程组ID,即进程组长进程的ID
会话期:一个或者多个进程组的集合,有唯一一个会话期为首进程,会话期ID为首进程ID。会话期有一个单独的控制终端,与控制终端连接的会话期首进程叫做
控制进程。当前与终端交互的进程称为前台进程组。其他进程叫做后台进程组。
挂掉信号(SIGHUP) 默认的动作就是终止程序。
当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话首进程)。如果会话期首进程终止,则该进程会发送到该会话期前台进程组。
一个进程退出导致一个孤儿进程组产生时,如果任意一个孤儿进程组处于stop状态,则发送 SIGHUP 和 SIGCONT 信号到该进程组中的所有进程。因此,当网络断开,
或者终端窗口关闭后,控制进程收到 SIGHUP 信号退出,会导致该会话期内其他进程退出。
vim 替换 :
:[range]s/pattern/string/[c,e,g,i]
range : 范围
pattern : 就是要被替换掉的字符串
string : 将 pattern 由 string 所替代
c : 每次替换都询问
e : 不显示 error
g : globe,不询问,整行替换
i : 忽略大小写