כולם כבר שם: אתה מחפש להפעיל תוכנית מסוף ולשמור אותו פועל. הבעיה היא תוכנית זו ישנה או לא כולל תכונה המאפשרת לה לרוץ כמו daemon ברקע. למרבה המזל, יש כמה דרכים לכפות תוכניות לעבוד ברקע בכל מקרה.

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

סיום פקודה עם &

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

 פקודה & 

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

& אחרי פקודה, ואז disown זה

הפעלת פקודה עם רק & דוחף אותו בחזרה מאחור ושומר אותו פועל כל עוד חלון המסוף פתוח. עם זאת, אם אתה רוצה לשמור על פקודה זו לפעול באופן קבוע, גם עם סיום הפגישה המסוף שלך, אתה יכול להשתמש בפקודה disown .

כדי להשתמש בשיטה זו, תחילה התחל בהוספת.

 פקודה & 

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

פשוט הקלד disown לתוך הקליפה, וזה יעשה רק את זה (ואתה יכול שוב לאמת את זה עם פקודות jobs ).

& אחרי פקודה עם / dev / null

הוספת & אחרי פקודה ידחוף פקודה לתוך הרקע, אבל כתוצאה מכך פקודת הרקע תמשיך להדפיס הודעות לתוך הטרמינל כפי שאתה משתמש בו. אם אתה מעוניין למנוע זאת, שקול לנתב מחדש את הפקודה אל /dev/null .

 הפקודה &> / dev / null & 

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

Nohup, עם & ו / dev / null

שלא כמו פקודות קודמות, באמצעות nohup מאפשר לך להפעיל פקודה ברקע ולשמור אותו פועל. אֵיך? Nohup עוקפת את אות HUP (ניתוק האות), מה שמאפשר להפעיל פקודות ברקע גם כאשר הטרמינל כבוי. שלב פקודה זו עם ניתוב מחדש ל /dev/null (כדי למנוע nohup מ ביצוע קובץ nohup.out), והכל הולך לרקע עם פקודה אחת.

 nohup הפקודה &> / dev / null & 

סיכום

רוב תוכניות מסוף על לינוקס היום יש תכונות מובנות כדי לאפשר להם לרוץ ברקע עם מעט מאמץ. יחד עם זאת, מערכות init המודרני (כמו systemd) יכול לאפשר למשתמשים להפעיל תוכניות כמו שירותים בעת אתחול או בכל פעם.

עם זאת, כמה תוכניות על לינוקס חוסר היכולת לרוץ כמו daemon או להשתלב עם מערכות init המודרנית. זוהי אי נוחות אמיתית אבל הוא מובן, שכן לא כל היזמים יש את המיומנות או זמן להוסיף תכונות חדשות.

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

איך אתה מעביר תוכניות מסוף פועל לתוך הרקע? ספר לנו למטה!

אשראי תמונה: מסוף אחד - ארבעה מסכים