טיפ שימושי: Reptyr

השבוע אעשה פסק זמן מסקירת הפצות ואתן לכם טיפ: Reptyr. בעבר כתבתי על screen (כאן ו- כאן). במדריך זה אעשה שימוש ב- screen ואסביר כיצד ניתן להעביר סקריפט שכבר רץ לריצה תחת screen.

אז למה Reptyr משמש? נניח שהרצתם פקודה/סקריפט שאמורה לרוץ במשך זמן ממושך, אך שכחתם להריץ אותה תחת screen. אם תסגרו את חלון המסוף התכנית תישבר. במדריך זה אציג כיצד ניתן להעביר (באמצעות Reptyr) את הריצה של הפקודה/סקריפט ל- screen (מבלי לשבור אותה ולהריץ אותה מחדש).

בדוגמא שאציג קיים סקריפט בשם test.sh שרץ במסוף:

$ ./test.sh

ניתן לשים לב שאין לנו prompt. אז איך בדיוק נעביר את הריצה שלו תחת screen?

  1. נעצור (stop) לרגע את ריצת התכנית:

    CTRL-Z
    [1]+ Stopped ./test.sh

  2. ומיד נחדש את הריצה – אבל הפעם ברקע:

    $ jobs -l
    [1]+ 7483 Stopped ./test.sh
    $ bg %1
    [1]+ ./test.sh &
    ‎$

  3. הפעם כמובן שקיבלנו prompt. נסיר את השיוך של test.sh מהטרנמינל הנוכחי:

    $ disown %1

  4. נריץ את screen, נברר מה מספר התהליך של הסקריפט שלנו ונעביר אותו לריצה תחת screen באמצעות Reptyr

    $ screen
    $ pgrep test
    7101
    $ reptyr 7101

זהו! ממש לא מסובך 🙂

2 תגובות בנושא “טיפ שימושי: Reptyr”

  1. טיפ שימושי מאוד,
    תודה אילן 🙂

    אגב, האם הכלי עובד עם עוד מנהלי מסופים ווירטואלים לדוג' – tmux?

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *