Tất nhiên cách thô thiển nhất là gõ ps auxww | grep PID để tìm, nhưng bài viết này không viết về cái thô thiển ấy.
Trên Linux, có sử dụng một thứ gọi là proc filesystem. Với mỗi process đang chạy có pid là PID, sẽ tồn tại tương ứng một thư mục /proc/PID
Vậy trên các OS sử dụng Linux, có thể kiểm tra thư mục này có tồn tại không là sẽ biết process có đang chạy hay không.
# ps -ef | grep bin[d]Có vẻ đã bớt thô thiển hơn nhiều, nhưng cách này chỉ áp dụng được với các hệ điều hành dùng Linux (và một số hệ điều hành hỗ trợ procfs thanks +Le Manh Cuong) . Vậy còn cách nào hơn? có thể chạy trên OS X, BSD ...?
bind 32511 1 0 05:33 ? 00:00:00 /usr/sbin/named -u bind
# python -c 'import os; print os.path.isdir("/proc/32511")'
True
# process với PID 32519 không tồn tại
# python -c 'import os; print os.path.isdir("/proc/32519")' && ps -ef | grep [3]2519
False
Kill it!