שאלה האם ניתן לנתק תהליך מהמסוף? (או, "הייתי צריך להשתמש המסך!") [כפולות]


שכפל אפשרי:
האם אני יכול לבצע nohup / המסך תהליך שכבר התחיל? 

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

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

האם יש דרך לנתק את העבודה מ ssh הפגישה שלה, אז אני יכול לכבות את המחשב שלי, (להפיל את חיבור TCP ולהרוג את הפגישה ssh), ובכל זאת יש תוכנית להמשיך לרוץ?

לא אכפת לי על הפלט שלה - למעשה, אני מנותב stdout לקובץ. אני רק רוצה שזה יפעל עד הסוף.


116
2017-07-01 22:16






תשובות:


אתה יכול ללחוץ ctrl-z כדי להפריע את התהליך ולאחר מכן להפעיל bg לעשות את זה לרוץ ברקע.

אתה יכול להראות רשימה ממוספרת כל התהליכים ברקע בצורה זו עם jobs.

אז אתה יכול לרוץ disown %1 (החלף 1 עם מספר תהליך פלט על ידי jobs) לנתק את התהליך מהטרמינל.

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

לתשובה זו יש מידע נוסף


157
2017-07-01 22:26



עד כמה בטוח לנסות את התהליך? כל gotchas? - ndemou


אני מאמין הפקודה שאתה מחפש הוא "disown"


17
2017-08-19 16:32





מתוך קליפת הבש שלך:

control+z

לאחר מכן, כדי להמשיך את העבודה ברקע:

bg

מאוחר יותר, תוכל להקליד jobs  כדי לראות אם התהליך שלך עדיין פועל.


8
2017-07-01 22:23



האם לא ייהרג כאשר אסגור את הקונכייה שלי? - mike
לא, לפחות לא אם אתה רץ. העבודה תתנתק מה- PPID של ssh session שלך, ועדיין תפעל בשרת כשם המשתמש שלך. - Joe
ההוראות לעיל יגרום לתהליך לצאת כאשר תסגור את הקליפה. אתה גם צריך להפעיל את הפקודה 'disown' / Builtin (זה באש), אשר יהיה לנתק את התהליך מן הקליפה ולא לשלוח את האות HUP לתהליך ביציאה. - Mark
על הגרסה שלי של באש [3.2.25 (1) -שחרור (i686-redhat-linux-gnu)], בדקתי את התהליך, ולא הייתי צריך לבטל את העבודה לפני ניתוק. הילד PID מנותק מההורה PID, והמשיך לרוץ כשם המשתמש שלי ללא הפרעה. אני מניח. - Joe


כשמשתמש רפטיר בתוך המסך, תוכל להזיז את התהליך (או את הפלט) למסך.


5
2018-05-16 14:07





להשתמש
nohup הפקודה &

יפה:
root @ index: ~ # nohup / usr / bin / curl localhost / begemot.php &
[89] 894
שורש @ אינדקס: ~ # nohup: התעלמות קלט ופלט פלט ל 'nohup.out'

ואת היציאה של הטרמינל הזה, ממשיכה משימה להמשיך ...

5
2018-05-24 09:23





באמצעות crtl-Z ואז BG או באמצעות & בעת הפעלת הפקודה אינו אמין ב 100%. זה יעבוד ברוב המקרים אבל לא יכול לעבוד כמצופה במקרה כלשהו (I / O השימוש, ...).
המסך הוא פתרון אמין.


4
2017-07-01 22:34



שים לב כי retty (pasky.or.cz/~pasky/dev/retty) הוא כלי שיכול לתת לך להזיז תהליך פועל מחוץ למסך לתוך המסך. זה יכול להיות שימושי לשים לך עבודה במסך אם תשכח. אז אתה יכול לנתק בבטחה המסך ללא כל סיכון של העבודה להפסיק. - radius


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

http://tlug.dnho.net/?q=node/239 היא דרך אחת לעשות את זה, אם כי יש וריאציות אחרות שם בחוץ.

הציל אותי פעם או פעמיים, כשיצאתי מניתוק בלתי צפוי באמצע השבוע, אחרת הייתי שוכח להתחיל screen לפני שהתחלתי משהו ממושך.


4
2017-07-01 22:50





אם אתה משתמש בשא, אתה יכול לחשוד עם שליטה Z ו- background עם bg.

בקרת עבודה (מאדם באש)

 If the operating system on which bash is running supports job 
 control, bash contains facilities to use it.   Typing the  
 suspend  character  (typically ^Z, Control-Z) while a process 
 is running causes that process to be stopped and returns control 
 to bash.  Typing the delayed suspend character (typically ^Y, 
 Control-Y) causes the process  to  be stopped  when  it  
 attempts to read input from the terminal, and control to be 
 returned to bash.

עזרה bg

bg: bg [job_spec ...]
    Place each JOB_SPEC in the background, as if it had been started with
    `&'.  If JOB_SPEC is not present, the shell's notion of the current
    job is used.

עבודות עזרה

jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
    Lists the active jobs.  The -l option lists process id's in addition
    to the normal information; the -p option lists process id's only.

3
2017-07-01 22:23



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


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


2
2018-04-04 12:58