Nul*_*ter 2 command-line bash grep 14.04
我正在创建一个 shell 脚本,其中,我需要过滤除自己的 grep 进程之外的进程。如果我使用:
echo "step1"
psout=`ps -aux | grep 'deluged'| grep '58846'`
echo "step2"
echo $psout
...
Run Code Online (Sandbox Code Playgroud)
然后停止脚本意味着step2不显示!和 $psout,输出空白。我不知道为什么。
如果我尝试使用 AND 和除了color:
$ ps -aux | grep -e 'deluged' -e '58846' -v "color"
grep: color: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用钥匙串:
ps -aux | grep -e "[d]eluged"."58846"
Blank OUTPUT
Run Code Online (Sandbox Code Playgroud)
简而言之,如何使用 AND 和除了自己的 grep 进程之外的单个 grep 查找进程?
您在评论中说您想知道进程是否存在。pgrep -f 'deluge'为此使用。或者替代地pgrep -f 'deluge.*58846'
pgrep 专门设计用于在进程存在时为您提供 pid,并避免解析 grep 和 ps 的问题。如果进程不存在,那么您将有空白输出
您还可以使用sudo netstat -tulpan并使用 grep 查看您的端口号是否在开放端口中
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |