这是我的进程列表:
$ ps
PID USER TIME COMMAND
1 root 0:00 bash -c cp -R /docker /var/lib; echo Loading...; wrapdocker
7 root 0:00 bash --login
312 root 0:00 dockerd
321 root 0:00 containerd --config /var/run/docker/containerd/containerd.toml --log-level info
488 root 0:00 ps
Run Code Online (Sandbox Code Playgroud)
我想检查进程dockerd是否正在运行。
当我运行时:ps | grep dockerd它打印两个进程:
$ ps | grep 'dockerd'
312 root 0:00 dockerd
492 root 0:00 grep dockerd
Run Code Online (Sandbox Code Playgroud)
我需要通过特定的命令行找到它,dockerd而不是grep dockerd.
我需要它作为 shell 脚本的一部分来检查是否dockerd正在运行。
你应该使用pgrep process而不是ps aux | grep process.
就像,目前gnome-terminal正在运行,所以
ps aux | grep gnome-terminal
user 2045 0.9 0.9 459456 36084 ? Ssl 17:33 0:00
/usr/lib/gnome-terminal/gnome-terminal-server
user 2206 0.0 0.0 12780 996 pts/0 S+ 17:33 0:00 grep
gnome-terminal
Run Code Online (Sandbox Code Playgroud)
然而
pgrep gnome-terminal
2045
Run Code Online (Sandbox Code Playgroud)
目前 chome 没有运行,所以
ps aux | grep chrome
user 2212 0.0 0.0 12780 976 pts/0 S+ 17:34 0:00 grep chrome
Run Code Online (Sandbox Code Playgroud)
但pgrep chrome不会返回任何东西。
在你的情况下,pgrep dockerd会起作用。
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |