这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 ps + grep命令
通过系统提供的alias命令将ps和grep命令合成一个命令psg,实现快速查找特定字符串的相关进程。比如执行命令查找包含1234字符串的相关进程,通过执行命令,定义一个新命令psg实现相同功能,更加方便快捷。
2 ps + kill命令
在日常工作中,有时候需要kill多个相关进程,如果单独去一个一个kill,很不方便且容易出错。通过定义一个函数psk可以实现查找并kill相关进程的功能。例如,示例中通过sleep命令模拟启动了3个进程,启动后可以查看到3个进程分别在后台运行,执行psk 1234命令即可同时kill这3个进程,执行完psk 1234命令后,再次查询相关进程,发现进程已经不存在。
3 ps + grep 查找进程时忽略自身进程
如果注意看前面2个技巧,会发现psg查询进程时会包含自身进程,psk在kill相关进程时会打印一条信息:kill: sending signal to 18073 failed: No such process,这是因为查询进程时,没有将自身进程排除导致。示例中第一次执行,发现有一个17902进程,这个进程就是执行中的grep命令。如果执行会发现,已经将自身进程排除了。当然,也可以通过grep的-v选项实现过滤自身的功能,如下:
现在,你可以在psg和psk命令的字符串第一个字符添加中括号[]试一下效果了。
注:将分享的alias或者函数写入你的shell配置文件(如:~/.bashrc或/etc/profile)中,这样每次打开终端都能使用。
领取专属 10元无门槛券
私享最新 技术干货