当我搜索一些不存在的进程时,例如
$ ps aux | grep fnord
wayne 15745 0.0 0.0 13580 928 pts/6 S+ 03:58 0:00 grep fnord
Run Code Online (Sandbox Code Playgroud)
显然我不关心 grep - 这和搜索ps过程一样有意义!
如何防止 grep 出现在结果中?
分享您的 Unix/Linux 命令行功能和技巧。如果可能的话,尽量保持它的外壳/发行版不可知。有兴趣查看别名、单行、键盘快捷键、小 shell 脚本等。
所以我想调用两个后台ssh进程:
ssh -D localhost:8087 -fN aws-gateway-vpc1
ssh -D localhost:8088 -fN aws-gateway-vpc2
Run Code Online (Sandbox Code Playgroud)
这些网关没有让我设置authorized_keys 文件的好处,因此必须提示我输入交互式密码。这就是为什么我使用-f标志而不是 shell 的原因&,它只会在我交互式身份验证后才将进程后台运行。
在这种情况下,我似乎无法使用$!bash 变量来获取最近 [self] 后台进程的 pid。
如果被中断,我还有什么其他选择可以找到正确的 pid 以便稍后杀死?
我见过有人使用命令:
ps -ef | grep [h]ttpd
和输出是:
阿帕奇 25125 31006 0 21:54 ? 00:00:00 /usr/sbin/httpd 阿帕奇 26869 31006 0 22:04 ? 00:00:00 /usr/sbin/httpd 阿帕奇 27349 31006 0 22:07 ? 00:00:00 /usr/sbin/httpd 阿帕奇 27696 31006 0 22:09 ? 00:00:00 /usr/sbin/httpd 阿帕奇 28534 31006 0 22:14 ? 00:00:00 /usr/sbin/httpd 根 31006 1 0 16:16 ? 00:00:00 /usr/sbin/httpd 阿帕奇 31011 31006 0 16:16 ? 00:00:00 /usr/sbin/httpd
字母“h”周围的2个括号在哪里grep做什么?