本文共 1185 字,大约阅读时间需要 3 分钟。
From:
bash判断进程存在的3种方法
ps -p 根据给定的pid参数判断是否有这个进程。
apple@ubuntu:~$
ps -p 2442 apple@ubuntu:~$
ps -p 1234 pgrep根据给出的进程名判断是否有这个名字的进程。
apple@ubuntu:~$
pgrep sshd apple@ubuntu:~$
pgrep sshddd 每个进程都会在/proc下有一个以进程PID命名的目录。
apple@ubuntu:~$
ls /proc/2442 ls: cannot read symbolic link /proc/2442/cwd: Permission denied
ls: cannot read symbolic link /proc/2442/root: Permission denied
ls: cannot read symbolic link /proc/2442/exe: Permission denied
attr clear_refs cpuset exe io loginuid mountinfo net pagemap sched smaps status wchan
auxv cmdline cwd fd latency maps mounts oom_adj personality schedstat stat syscall
cgroup coredump_filter environ fdinfo limits mem mountstats oom_score root sessionid statm task
可以根据上面的事实,编写bash脚本判断一个进程是否存在。下面以第3个事实,编写脚本。其他的脚本类似。
echo "Need a pid argument"
转载地址:http://dentb.baihongyu.com/