הרגו תהליך עם פקודה אחת

פעמים רבות אנו צריכים להרוג תהליך דרך מסוף. אם אנו יודעים את השם המלא של התהליך (למשל: קייט) אין לנו בעיות, פשוט:

killall kate

זה פותר לנו את הבעיה ... אבל מה קורה אם אנחנו לא יודעים את השם המדויק של התהליך?

באותן הזדמנויות, עלינו לפרט את כל התהליכים נ.ב ל כפי שמוצג בצילום המסך הבא:


ואז חפש את ה- PID של התהליך, שבמקרה זה אנו מחפשים את ה- PID של קייט:


עד אז בצע:

kill 3808

וואלה, שם אנו הורגים את התהליך.

ובכן ... בשורה אחת אנו יכולים לחפש את התהליך (מבלי שנצטרך לדעת את השם המלא), לגלות את ה- PID שלו, וגם להרוג אותו:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

כמו שאתה רואה:

  1. אנו מפרטים את התהליכים (נ.ב ל)
  2. איננו יודעים את השם המלא או המדויק של קייט (היי, זה יכול להיות עורך קייט או משהו כזה) אז אנחנו מסננים רק לפי קאט (grep kat)
  3. אבל נקבל שני תהליכים הקשורים לקאט אם נשתמש רק במסנן זה, אחד שהוא תהליך הקייט, ואחר שהוא התהליך שאנו מפעילים לסינון, אני משאיר לך צילום מסך כדי שתוכל לסיים את ההבנה: (שימו לב שיש 2 שורות, כלומר 2 תהליכים)

  4. כדי להימנע ממה שהוסבר קודם, אנו מכינים מסנן נוסף (grep -v grep). מה נעשה ההפך ... אם נסנן באמצעות grep, הוא יראה רק את ההתאמות עם המסנן, ובכן עם grep -v אנו מורים לך לא להציג את המשחקים, אלא להראות מה לא מתאים. אני מראה לך את צילום המסך של התוצאה עד כה: (שים לב שעכשיו רק התהליך של קייט מופיע)

  5. ובכן, יש לנו כבר את התהליך שאנחנו רוצים להרוג מבודד, עכשיו אנחנו רק צריכים לחלץ את ה- PID שלו, שהוא המספר השני, כלומר, 4062. וה- PID נמצא בעמודה השנייה (העמודה הראשונה מכילה משתמש עם UID 1), אז באמצעות awk נוכל לומר שזה מראה רק מהקו הזה מה הוא מוצא בעמודה השנייה (awk '{הדפס $ 2}'). מה שרק יראה לנו את מספר התהליך, כלומר רק ה- PID יופיע במסוף.
  6. אבל אנחנו לא רוצים להראות את ה- PID, מה שאנחנו רוצים זה להרוג את התהליך עם ה- PID הזה ... אז אנחנו נעשה את זה, אנו מעבירים את מה שיש לנו עד כה לקראת הפקודה להרוג ומוכן (xargs להרוג)
  7. מה הפירוש של ה- xargs הזה? ... פשוט, במקרה זה איננו יכולים להעביר את ה- PID כדי להרוג רק בעזרת צינורות ( | ), זה פשוט לא מספיק, אז xargs (המאפשר להעביר ערכים או נתונים ואז לבצע או להרוג אותם) הוא מה שיאפשר לנו לסיים את העבודה.

וכאן זה נגמר 😀

כן ... אני יודע שזה נראה קצת מורכב, וזו בדיוק הסיבה שניסיתי להסביר את זה הכי טוב שיכולתי.

Sé que posiblemente a pocos les hará falta este comando, pero el objetivo de este artículo es el mismo que el de DesdeLinux, enseñarles algo nuevo cada día, intentando siempre que pierdan el miedo o temor a Linux… y, personalmente me encantaría también que aprendan a usar sin temor la terminal 😉

בכל מקרה ... אני מקווה שמצאת את זה מעניין, אני ממשיך ללמוד איך להשתמש awk שזה ממש נהדר hehe.

לגבי


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   אזיטוק דיג'ו

    זה נכון, awk היה מאוד שימושי עבורי ואני חושב שכל מי שצריך לתפעל קבצי טקסט מובנים מומלץ מאוד לדעת להשתמש בו.

    פשוט יש לי שאלה (אין שום קשר לקלט: D), כיצד (ועם איזו תוכנית) עשית את אותו אפקט הטשטוש שמאפשר לך להדגיש חלק מצילום המסך?

    ברכות.

    1.    אזיטוק דיג'ו

      בדיקה אם זה מהפורמט זה עובד ואם לא מישהו יגיד לי איך לעשות את זה

      תודה רבה.

    2.    KZKG ^ גאארה דיג'ו

      ובכן כן ... גיליתי מחדש את לינוקס עכשיו כשאני יודע לעבוד עם HAHAHAHA המביך.
      על ההשפעה וכאלה, שום דבר ... זה רק גימפ 😀

      אני בוחר את החלק שברצוני להדגיש, חותך אותו עם [Ctrl] + [X] ומדביק אותו כשכבה חדשה, ואז אני בוחר בשכבה התחתונה (שהיא זו שברצוני לאטום) ועובר למסננים- »גאוסית (או כל מה שאתה כותב hehe) וואלה.
      עכשיו, כדי להעניק לו את האפקט הכהה, אני פשוט יוצר שכבה חדשה (רקע לבן) ומניח אותה בין שני אלה שכבר היו לי, אני נותן לו צבע שחור ובסרגל השקיפות (בפינה הימנית העליונה) אני מעביר אותו לאן אני משיג את האפקט הרצוי.

      ברכות ותודה על התגובה 🙂

      1.    רוברטו מתפתח סנטנה דיג'ו

        גָדוֹל!!

  2.   מנואל דה לה פואנטה דיג'ו

    אם התהליך הוא מתוכנית גלויה, אין דבר נוח יותר מהקלדה xkill על המסוף, לחץ על התוכנית כדי להרוג, וזהו.

    1.    KZKG ^ גאארה דיג'ו

      לחץ על התוכנית כדי להרוג
      הייה כן ... זה בהנחה שיש לך ממשק משתמש היי.

      1.    מנואל דה לה פואנטה דיג'ו

        נכון, זו הסיבה שאמרתי "אם התהליך הוא מתוך תוכנית גלויה."

        1.    וינדוסיקו דיג'ו

          קל יותר ללחוץ על הכפתור עם ה- "X". למעטפת GNOME עדיין יש את הכפתור הזה נכון? :-D.

          1.    מנואל דה לה פואנטה דיג'ו

            אם התוכנית קפואה (וזו הסיבה העיקרית לכך שתצטרך להרוג את התהליך שלה) זה הגיוני שכפתור זה לא יגיב ולא משנה כמה תלחץ עליה.

            אני חושב ש- GNOME מעטפת תסיר אותו בקרוב כדי שתוכל לראות את הפלא המישוש של סגירת חלונות על ידי גרירתם לתחתית המסך כמו במערכת Windows 8. מיותר לציין שבצגים במסך רחב זה תרגיל פנטסטי.

          2.    וינדוסיקו דיג'ו

            אני מבין עכשיו. במקרה כזה אני מעדיף Control + Alt + Esc (ב- KDE).

            אני לא יכול לחכות לראות את התצוגות המקדימות החדשות של GNOME מעטפת, הן תענוג אמיתי.

  3.   תָקִין דיג'ו

    זה עושה את אותו הדבר אבל פחות כתוב.
    במקרה זה לקחתי את משטח העלה כדוגמה ולכן העלה מופיע ב grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    לגבי

  4.   Sys דיג'ו

    פאי! בני, נסה להריץ "pgrep kat", שהוא "pgrep" למשהו.

    ולהוציא לפועל "איש גריפ". וגם "איש פידוף", שלפעמים "פידוף" יכול לעזור לך.

    ולהוציא לפועל «ps aux | grep [k] at ", שלא יחזיר כתוצאה מכך" את התהליך שאנו מפעילים לצורך הסינון "שאתה מגיב, ובכך יחסוך לך עבודה.

    ¡Saludos!

    1.    Sys דיג'ו

      אה, ו "pkill", שעושה את מה שאתה מחפש. לדוגמא: "pkill kat".

    2.    KZKG ^ גאארה דיג'ו

      אה, מעניין ... לא הכרתי pgrep 🙂
      תודה על הטיפ 😀

      1.    Sys דיג'ו

        תודה לך ולמאמרים שלך.

        אגב, ב https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ הגיבו על הטכניקה של שימוש בפקודות כמו «ps aux | grep [n] program_name ", הם מסבירים את זה יותר טוב ממני שם.

        ¡Saludos!

        1.    KZKG ^ גאארה דיג'ו

          תודה על הקישור 😀
          Eso es lo genial de que exista DesdeLinux… que no importa si eres usuario, redactor o admin, siempre todos aprendemos cosas nuevas 🙂

          ברכות ותודה שוב חבר.

  5.   הועלה דיג'ו

    תודה רבה לכולכם על זמנכם ומסירותכם, כדאי לכם לבקר ולקרוא באתר זה מספר פעמים ביום.

    שוב תודה.

  6.   מר לינוקס. דיג'ו

    KZKG ^ גאארה כמעט תמיד זהה, כשמדובר בטיפים מסוג זה, יש אדם אחר שעושה את אותו הדבר בפקודה פשוטה. אבל אני מברך אותו, הוא תמיד תורם ברציפות.

    1.    KZKG ^ גאארה דיג'ו

      hehe yep ... אני יודע לעשות X osa ואני בא לכאן ולשתף את השיטה, אבל אז הם חולקים דרך פשוטה יותר להשיג את אותו הדבר האהה, אבל עם זה כולנו מנצחים, נכון? 😀

      1.    טרוקו 22 דיג'ו

        נכון 0 /

      2.    מנואל דה לה פואנטה דיג'ו

        חחחח, תמיד הולכים בדרך הכי מסובכת. 😀

        1.    KZKG ^ גאארה דיג'ו

          HAHAHA כן, תמיד חשבתי: «אם אני אדע לעשות את זה בדרך הקשה, אז אלמד לעשות את זה בדרך הפשוטה ללא בעיות.»ו ... ולהיפך לא עובד באותה המילה.

  7.   אוסקר דיג'ו

    הבעיה תהיה אם יש לנו שני תהליכים עם שם דומה.
    לדוגמא, תהליך של קייט, ותהליך נוסף של ... מממ ... נניח kater xD
    בפקודה כזו היינו הורגים את שניהם, נכון?

    1.    KZKG ^ גאארה דיג'ו

      ובכן כן, זה יקרה 🙂

  8.   טרוקו 22 דיג'ו

    TT קייט המסכנה. אני משתמש ב- xkill ב- KDE הוא מושק במהירות עם "ctrl + alt + esc" או גם עם "ctrl + Esc" פתוח "פעילויות מערכת" ועשה זאת בצורה גרפית. עכשיו יש ללמוד את ההליך הזה דרך הטרמינל, אם כי יש לי שרת ביתי עם Debian יציב וזה בכלל לא קורס.

  9.   Yulian דיג'ו

    גדול! כרגע כשאני עובר את קורס מערכות ההפעלה ואני צריך לבצע משימות עם הטרמינל, ההדרכה שלך עזרה מאוד! תודה

  10.   פבלו דיג'ו

    הסביר טוב מאוד, נהדר הבלוג שפגשתי זה עתה, אני מצביע עליו למועדפים. תודה.

  11.   בקרוב דיג'ו

    ובכן, זה טוב, אם כי ישנם מקרים שבהם אי אפשר להרוג אותם ....

  12.   דקוי דיג'ו

    pkill -9

    1.    דקוי דיג'ו

      pkill -9 "שם התהליך"
      בתגובה הקודמת שמתי «» אבל זה לא יצא xD

  13.   זה הכי טוב דיג'ו

    ערב טוב, יש לי זמן לקרוא את הפיד שלך והיום החלטתי לנסות את הפקודה הזו ps ax | grep chrome | grep -v grep | awk '{הדפס $ 1}' | xargs kill ואני נתקל בשגיאת ההריגה הבאה: לא מצליח למצוא את התהליך "?" עם מעט הניסיון שיש לי בבאש החלטתי לבצע כמה שינויים ובסוף אני נשאר עם ps -A | grep c | grep -v grep | awk '{הדפס $ 1}' | xargs kill בהתחשב בכך ש ps -A משמש כדי להציג את כל התהליכים בצורה מסכמת והאנומליה השנייה הייתה שהיא השליכה את ה- TTY «?» וזה עבד בשבילי תודה רבה אני מאוד אוהב את הבלוג שלך, ברכות

  14.   מיכאל דיג'ו

    תודה compa, אתה לא יכול לדמיין את כמות הבעיות שפתרת לי בדיוק באמצעות פקודה זו.

    ברכות!

  15.   אמאלוג דיג'ו

    תודה !!!!

  16.   ארטורו דיג'ו

    פוסט מצוין. בדיוק מה שחיפשתי ולא ידעתי איך לעשות את זה, וההסבר היה טוב מאוד.

    ברכות.