的进程.如果有这个名字的进程正常退出,退出值0.如果没有这个名字的进程异常退出,退出值1.
例如: apple@ubuntu:~$ pgrep sshd 2442 2994 3003 apple@ubuntu:~$ echo $? 0
apple@ubuntu:~$ pgrep sshddd apple@ubuntu:~$ echo $? 1 apple@ubuntu:~$
3./proc 每个进程都会在/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 apple@ubuntu:~$
可以根据上面的事实,编写bash脚本判断一个进程是否存在.下面以第3个事实,编写脚本.其他的脚本类似.
#!/bin/bash
if [ -z $1 ] then echo "Need a pid argument" exit 1 fi
if [ -d /proc/$1 ];then exit 0 else exit 1 fi
|