נטרול או סיום תוכניות במערכות UNIX או Linux
במדריך זה נלמד איך ניתן לנטרל או לסיים תוכניות במערכות UNIX או Linux.
Linux וכל שאר מערכות ה-UNIX מגיעות פקודות נטרול. פקודות הנטרול שולחות אות ספציפי(כמו נטרול תהליך) לתהליך ספציפי או לתהליך קבוצתי.
אם האות לא מפורט, אות ה-TERAM נשלח.
נטרול תהליכים עם שימוש בפקודת Kill בLinux/UNIX
פקודת הנטרול עובדת תחת הLinux, BSD וה-UNIX כמו מערכות הפעלה.
שלב ראשון: מציאת ה-PID של התהליך(מזהה התהליך)
השתמשו בפקודת ps או pidof בכדי למצוא את מזהה התהליך(PID). תחביר:
ps aux | grep processname pidof processname
processname = שם התהליך.
ps aux | grep httpd
הפלט אמור להיראות בערך ככה:
root 8886 0.0 0.7 32276 15660 ? Ss 00:11 0:00 /usr/sbin/httpd -k start -DSSL apache 17312 1.4 0.8 35436 18240 ? S 00:43 0:03 /usr/sbin/httpd -k start -DSSL apache 17751 1.1 0.8 35548 18536 ? S 00:45 0:01 /usr/sbin/httpd -k start -DSSL apache 17755 1.2 0.8 35200 17908 ? S 00:45 0:01 /usr/sbin/httpd -k start -DSSL apache 17831 1.0 0.8 34556 17544 ? S 00:46 0:00 /usr/sbin/httpd -k start -DSSL apache 17927 1.2 0.7 33804 16492 ? S 00:46 0:00 /usr/sbin/httpd -k start -DSSL apache 17929 2.0 0.7 33620 16408 ? S 00:46 0:00 /usr/sbin/httpd -k start -DSSL apache 17935 2.1 0.8 34588 17324 ? S 00:46 0:00 /usr/sbin/httpd -k start -DSSL apache 17990 2.3 0.8 34516 17256 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18000 1.3 0.8 33928 16608 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18055 2.1 0.7 33580 16224 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18056 0.0 0.6 32276 14152 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18057 8.6 0.7 33572 16336 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18061 2.7 0.8 33932 16560 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18062 0.0 0.7 32784 14660 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18063 0.0 0.6 32276 14184 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18064 1.7 0.7 33480 16112 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18079 0.0 0.7 32784 14528 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18082 0.0 0.6 32276 14136 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL apache 18083 0.0 0.7 33572 16204 ? S 00:47 0:00 /usr/sbin/httpd -k start -DSSL root 18086 0.0 0.0 3940 720 pts/1 R+ 00:47 0:00 grep httpd
או השתמשו בפקודת pidof שאמורה למצוא את מזהה התהליך(ID) של תוכנית רצה:
pidof httpd
הפלט צריך להיראות ככה:
18414 18408 18257 18256 18205 18100 18083 18079 18063 17935 17312 8886
שלב שני: נטרול התהליך ע"י שימוש בPID-(מזהה התהליך)
הפקודה הזו מציגה את ה-PID של התהליך (httpd (8886. עכשיו ננטרל את התהליך על ידי שימוש ב-PID הזה:
kill 8886
אך ניתן גם דרך:
kill -9 8886
איפה ש,
-9 סימון מיוחד לנטרול תהליך, אשר ינטרל אותו.
דוגמאות לפקודות killall
אל תשתמשו בפקודות killall במערכת UNIX (פקודה לLinux בלבד).
אתם יכולים להשתמש בפקודות killall. פקודת killall מנטרלת תהליכים לפי השם(לא נדרש מזהה התהליך – PID):
killall -9 httpd
נטרול התהליך mysqld:
killall -9 mysqld
בהצלחה!