פורסם: 26/06/2016 - 12:54
נושא ההודעה: האם פעולת ssh במחשב המרוחק ממשיכה להתבצע עד תומה גם...
|
גם אם פעולת המחשב שממנו נשלחה פקודת ה- ssh נתקעה, או שנעשה restart אלים וכו'?
למשל, נניח שאני מעדכן מחשב ארץ' שנמצא בהונולולו בעזרת כניסה אליו דרך ssh.
ונניח שפעולת העדכון דורשת הורדה של יותר מגיגה.
ונניח שבמהלך ההורדה של העדכונים, המחשב שלי(שנמצא כמובן בישראל) נתקע(קורה לו לעיתים) ואין מנוס מלהפעילו מחדש, כי פשוט אי אפשר לעבוד איתו.
שום דבר לא מתפקד(לא מקלדת ולא עכבר. הכל תקוע).
האם פעולת העדכון במחשב המרוחק תמשך כרגיל למרות שהמחשב שלי כבר לא זמין?
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 12:58
נושא ההודעה:
|
לא, ברגע שחיבור ssh נסגר הפעולה מפסיקה להתבצע.
כדי שהוא ימשיך כדאי להשתמש בכלים כמו screen או tmux.
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 13:49
נושא ההודעה:
|
לא יודע איך זה בארצ' אבל ב-LMDE2 פעולת העידכון מתבצעת בשני שלבים:
הורדת כל החבילות מהרשת ורק אחר כך העידכון עצמו. בשלב העידכון עצמו לא צריך רשת - אפשר לנתק את המחשב מרשת האינטרנט. אם בשלב העידכון עצמו יש למשל הפסקת חשמל אז כל מה שנותר לעידכון עצמו נמחק ובפעם הבאה המערכת ממשיכה משלב הפסקת החשמל. היינו, שוב מתחיל תהליך של שני שלבים מהנקודה הקטועה.
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 16:05
נושא ההודעה:
|
חתול : | לא, ברגע שחיבור ssh נסגר הפעולה מפסיקה להתבצע.
כדי שהוא ימשיך כדאי להשתמש בכלים כמו screen או tmux. |
תודה.
אם אני מבין אותך נכון(?), אז גם הכלים שהזכרת לא יצליחו להמשיך את העבודה כי אני מדבר על מצב בו המחשב פשוט נתקע ואי אפשר להחזירו לחיים מלבד הפעלתו מחדש.
אין לי דרך לדעת אם חיבור ה- ssh נתקע כאשר המחשב נתקע, אבל אני מעריך שכן...
בעצם אוכל לדעת לאחר הפעלה מחדש של המחשב ואז שוב ניסוי לבצע את העדכון ולראות אם הוא מתחיל את הכל מההתחלה(או לפחות מאיפה שהוא הפסיק פחות או יותר).
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 16:08
נושא ההודעה:
|
Anonymous : | לא יודע איך זה בארצ' אבל ב-LMDE2 פעולת העידכון מתבצעת בשני שלבים:
הורדת כל החבילות מהרשת ורק אחר כך העידכון עצמו. בשלב העידכון עצמו לא צריך רשת - אפשר לנתק את המחשב מרשת האינטרנט. אם בשלב העידכון עצמו יש למשל הפסקת חשמל אז כל מה שנותר לעידכון עצמו נמחק ובפעם הבאה המערכת ממשיכה משלב הפסקת החשמל. היינו, שוב מתחיל תהליך של שני שלבים מהנקודה הקטועה. |
פעולת העדכון הייתה סתם דוגמא כדי להסביר למה התכוונתי.
היה חשוב לי עניין ה- ssh עצמו והאם אכן גם הוא נתקע/מפסיק אם המחשב שממנו ssh הופעל נתקע/הופעל מחדש.
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 16:28
נושא ההודעה:
|
screen מאפשר לך להתחבר מחדש לאותו session של הטרמינל גם אחרי שהמחשב עשה reset או אפילו ממחשב אחר לגמרי. זה אמור לעבוד גם במקרה שהמחשב קרס.
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 16:44
נושא ההודעה:
|
מגניב ביותר.
תוכל בבקשה להסביר איך זה מתאפשר אפילו כשהמחשב כבר עליו השלום עד להפעלתו מחדש?
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 16:48
נושא ההודעה:
|
כי יש לך session שעדיין חי (screen מפעיל session חדש )
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 17:27
נושא ההודעה:
|
nohup מוסר ד"ש ומאד נעלב שלא הזכירו אותו.
גם &
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 17:45
נושא ההודעה:
|
Anonymous : | nohup מוסר ד"ש ומאד נעלב שלא הזכירו אותו.
גם & |
nohub מטפל רק ב HUP
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 17:59
נושא ההודעה:
|
Anonymous : | כי יש לך session שעדיין חי (screen מפעיל session חדש ) |
רק רוצה להיות בטוח שהבנתי:
כשאני סתם נכנס דרך ssh ונדפק לי המחשב שממנו שלחתי את פקודת ssh, הסשן נעלם כלא היה לאחר הפעלה מחדש ואילו ב- screen וחברו הסשן נשמר לי על המחשב כך שהוא יודע שיש לו חיבור קיים ממקודם אפילו לאחר שהפעלתי את המחשב מחדש?
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 18:08
נושא ההודעה:
|
Anonymous : | Anonymous : | כי יש לך session שעדיין חי (screen מפעיל session חדש ) |
רק רוצה להיות בטוח שהבנתי:
כשאני סתם נכנס דרך ssh ונדפק לי המחשב שממנו שלחתי את פקודת ssh, הסשן נעלם כלא היה לאחר הפעלה מחדש ואילו ב- screen וחברו הסשן נשמר לי על המחשב כך שהוא יודע שיש לו חיבור קיים ממקודם אפילו לאחר שהפעלתי את המחשב מחדש? |
קוד: |
anon@servera:$ ssh user@serverb
user@serverb:$screen |
עכשיו ב serverb יש לך session , ולא משנה מה קורה ל user@servera
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 18:25
נושא ההודעה:
|
אה אוקיי.
תודה רבה לך.
שונה ממה שחשבתי .
|
|
חזרה לתוכן הדיון |
פורסם: 26/06/2016 - 19:19
נושא ההודעה:
|
Anonymous : | Anonymous : | nohup מוסר ד"ש ומאד נעלב שלא הזכירו אותו.
גם & |
nohub מטפל רק ב HUP |
לא רק.
מה קורה כאשר מתנתק חיבור ה־SSH?
כאשר הניתוק מזוהה במחשב המרוחק, הוא מודיע לתהליך (ולכל צאצאיו) שנעלם להם המסוף. זה נעשה בשליחה של סיגנל בשם Hangup, או בקיצור SIGHUP.
מעבר לכך, לתהליך הייתה אפשרות לכתוב מהמסוף ולקרוא ממנו. זה לא יעבוד. לכן nohup מחליף את הקלט הסטנדרטי ב־/dev/null ואת הפלט הסטנדרטי שולח לקובץ. אם התהליך צריך לקבל קלט, הוא יתקע. לכן זה מועיל להרצת פקודות.
סתם & לא עוזר, כי מתישהו יעלם לך המסוף ותחטוף SIGHUP. הפקודה disown של bash כבר קצת יותר רצינית וקרובה יותר לניתוק מהמסוף.
|
|
חזרה לתוכן הדיון |
|