אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פיתוח אינטרנט » פתרונות ומאמרים על פיתוח אינטרנט » עובדים מול שרת מרוחק? אל תאבדו את החלון שלכם

עובדים מול שרת מרוחק? אל תאבדו את החלון שלכם

רן בר-זיק אפריל 24, 2016 7:07 am 7 תגובות

פתרון קל, פשוט וידוע לשמירת sessions ותהליכים על שרת מרוחק מסוג לינוקס. עובדים עם SSH? זה בשבילכם

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

אם אתם עובדים עם SSH על מנת להתחבר לשרת לינוקס מרוחק, אתם בדרך כלל תתחברו עם Putty ממחשב מבוסס חלונות או דרך SSH ממחשב לינוקס/מק – מה הבעיה? הבעיה היא שאם אתם מריצים תהליך ארוך ומאיזושהי סיבה ה-session שלכם מתנתק, אז אתם בבעיה. התהליך יכול להמשיך לרוץ, אבל אתם לא תדעו מה התוצאה שלו. או לחלופין, הרצתם פקודה כלשהי עם תוצאה שמופיע על המסך ואז פתאום המחשב המארח נסגר מסיבה מסוימת – לא תוכלו לראות את מה שהדפסתם והסשן המרוחק הלך לעזאזל.

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

sudo apt-get install screen

ובפדורה:

yum install screen

אחרי ההתקנה, אנחנו נקליד scrren -v כדי לראות

$ screen -v
Screen version 4.00.03 (FAU) 23-Oct-06

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

There are screens on:
        2477.pts-0.server1      (Detached)
        2522.pts-0.server1      (Detached)
2 Sockets in /var/run/screen/S-root.

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

screen -r 2477

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

screen -ls 

כדי לברר את המספר של ה-screen ואז:

screen -r XXXX

זה הכל, להזכירכם ה- screen -ls מראה לנו את הרשימה של ה-screen ו screen -r עם מספר מכניס אותי ל-screen הזה והוא לעולם לא ימות. הוא יישאר בחיים כל עוד המכונה באוויר. ואם אני רוצה להרוג את ה-screen? מאוד פשוט:

exit

יהרוג אותו ויחזיר אותי ל-session הראשי.

אם יש לי כמה screen פתוחים, אני יכול להכנס לאחד מהם ולעבור ביניהם באמצעות קונטרול A ואז P או N.

זהו! לעולם לא עוד נאבד session או שלא נדע מה קרה עם הפרוסס שהרצנו כי הסשן התנתק/ האינטרנט נפל/ המחשב עשה ריסטארט/ נשרף באש האבדון.

אני מודה מאוד ללירן טל ולתמיר מור על פקיחת העיניים בנושא.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
תשתית

7 תגובות

  1. יוגב הגב אפריל 24, 2016 בשעה 3:33 pm

    ויש גם את tmux שיודע לעשות עוד כמה טריקים
    https://tmux.github.io/

    • רן בר-זיק הגב אפריל 30, 2016 בשעה 11:35 am

      אכן כן, אני לא משתמש בה באופן אישי, אבל תודה על התגובה והקישור! 🙂

  2. אחד שיודע הגב אפריל 24, 2016 בשעה 10:49 pm

    tmux

  3. א הגב אפריל 25, 2016 בשעה 11:04 am

    יש עוד מלא פונקציות לscreen. ניתן לראות ב man.
    אכן, פקודה כיפית ויעילה!

  4. שוהם הגב אפריל 25, 2016 בשעה 1:19 pm

    יותר פשוט… לא צריך להתקין כלום… רושמים nohup בתחילת הפקודה שרוצים להריץ ו & בסוף… התהליך ירוץ ברקע גם אם החלון נסגר וכל הפלט ירשם לקובץ nohup.log

    • רן בר-זיק הגב אפריל 30, 2016 בשעה 11:35 am

      תודה רבה על התגובה! screens גם מאפשרת לך להריץ כמה 'מסכים' במקביל. אבל זו הערה חשובה 🙂

      • שוהם הגב מאי 3, 2016 בשעה 12:08 am

        בכיף! אגב גם עם nohup ניתן להריץ כמה במקביל… כל תהליך ירשום את הפלט שלו לקובץ נפרד (nohup1.log, nohup2.log וכו') ואפשר לקרוא כל קובץ במקביל עם tail -f

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד