כיצד להפעיל תוכנית לינוקס בהפעלה עם systemd
Fatmawati Achmad Zaenuri/Shutterstock
צריך להפעיל תוכנית לינוקס באתחול? תוכנת systemd מספקת דרך לעשות זאת בכל אחד הפצת לינוקס עם systemd - שזה רובם בימינו, כולל אובונטו. אנו נלווה אותך בתהליך של יצירת שירות משולב - והוא אפילו מדבר עם היומן.
מדריך זה מדגים כיצד להגדיר שירות מערכת המופעל בעת הפעלת המערכת. כדי להפעיל תוכנית גרפית בעת הכניסה, השתמש במקום זאת במנהל האתחול של שולחן העבודה שלך .
הפעלת תוכניות בעת ההפעלה
לפעמים התוכנה שאתה מתקין במחשב מתחבר לתהליך האתחול של לינוקס, כך שהתוכנה מופעלת אוטומטית בכל פעם שהמחשב מופעל. אתה יכול בקלות להשיג את אותה התנהגות עם תוכניות ותסריטים משלך, או למעשה כל תוכנה אחרת שנמצאת במחשב שלך.
התוכניות המופעלות בעת ההפעלה נשלטות על ידי |_+_|, ה מערכת ושירות מנהל. |_+_| הוא התהליך הראשון שפועל בעת ההפעלה. זה תמיד קרה מזהה תהליך (PID) 1. כל תהליך אחר הפועל במחשב שלך מופעל על ידי |_+_|, או על ידי תהליך ש-|_+_| כבר התחיל.
תוכניות הפועלות ברקע נקראות דמונים או שירותים. ה-d בסוף |_+_| מייצג דמון. במאמר זה, ניצור שירות לדוגמה. כדי לסמן את כל התיבות, השירות שלנו חייב להיות:
- משולב עם |_+_| באמצעות קובץ יחידת שירות
- הושק בעת ההפעלה
- ניתן לשליטה באמצעות |_+_|, ה ממשק שליטה עבור |_+_|
- מסוגל לכתוב ליומן
יצירת תוכנית השירות
אנחנו צריכים שתהיה לנו תוכנית ש |_+_| יושק. אנו ניצור סקריפט פשוט, הנקרא htg.sh. מדריך זה משתמש בעורך הטקסט של Gedit, אך אתה יכול להשתמש בכל עורך טקסט שאתה מעדיף.
systemd
systemd
פרסומת
ה- |_+_| עורך ייפתח. העתק והדבק את הטקסט הבא לתוך העורך.
systemd
שמור את השינויים שלך וסגור את העורך.
התסריט לא עושה הרבה, אבל יש כמה נקודות ששווה לציין.
- השניים |_+_| קווים עוברים דרך |_+_|, תוכנית שלוקחת את פלט מתוכנה ושולח אותו ליומן . ערכים ליומן מקבלים עדיפות. אנו משתמשים ב-|_+_| אפשרות (עדיפות) לציין שההודעות שלנו הן למידע (מידע) בלבד. הם לא שגיאות או אזהרות חשובות.
- יש |_+_| אינסופי לוּלָאָה.
- ה- |_+_| המשתנה מוגדר לתאריך ולשעה הנוכחיים. זה מעוצב להודעה ונשלח ליומן.
- לאחר מכן, התסריט ישן למשך 60 שניות.
- לאחר 60 שניות הלולאה חוזרת על עצמה. אז, התסריט הזה כותב הודעה עם חותמת זמן ליומן פעם בדקה.
אנו נעתיק את הסקריפט אל |_+_| מַדרִיך.
systemd
ואנחנו צריכים להפוך את זה לניתן להפעלה:
systemd
יצירת קובץ יחידת השירות
כל תוכנית שמתחילה על ידי |_+_| יש קובץ הגדרות, הנקרא קובץ יחידת שירות. זה מכיל תכונות מסוימות ש-|_+_| יכול להשתמש כדי לאתר ולהפעיל את התוכנית, וכדי להגדיר חלק מההתנהגות שלה.
אנחנו צריכים ליצור קובץ יחידה עבור השירות החדש שלנו, אבל זה נבון לוודא שאף אחד מקבצי היחידה הקיימים לא מכיל את השם שאנחנו רוצים לתת לשירות החדש שלנו.
systemd
אתה יכול לגלול ברשימת קבצי היחידה, הממוינת בסדר אלפביתי, ולבדוק שהשם שבו אתה רוצה להשתמש לא תפוס.
פרסומת
השירות שלנו הולך להיקרא htg.service. לאף קבצי יחידה יש את השם הזה, אז אנחנו יכולים להמשיך וליצור את קובץ היחידה שלנו.
systemctl
ה- |_+_| עורך ייפתח. העתק והדבק את הטקסט הבא בעורך:
systemd
שמור את השינויים שלך וסגור את העורך.
לערכים יש משמעויות אלו. אלו ערכים אופייניים. השירות הפשוט שלנו למעשה לא צריך את רובם, אבל הכללתם מאפשרת לנו להסביר אותם.
- הנקודה הירוקה פירושה שהשירות שלנו פועל בצורה חלקה.
- שם השירות הוא htg.service, והתיאור הארוך הוא זה שסיפקנו בקובץ היחידה.
- נראה איזה קובץ יחידה נטען /etc/systemd/system/htg.service.
- השירות פעיל, ומועד השקת השירות רשום עבורנו.
- ה-PID שלו הוא 7762.
- ישנן שתי משימות הקשורות לשירות.
- סך הכל 928 קיביבייט של זיכרון נמצאים בשימוש על ידי השירות.
- קבוצת הבקרה כוללת את הסקריפט htg.sh ואת ה- |_+_| הפקודה, אשר הושקה על ידי htg.sh. רוב הזמן, ה- |_+_| command תעשה את העבודה עבור שירות זה.
- › איך למצוא את ספוטיפיי עטוף 2021
- & rsaquo; Cyber Monday 2021: עסקאות הטכנולוגיה הטובות ביותר
- › 5 אתרים שכל משתמש לינוקס צריך לסמן
- › פונקציות לעומת נוסחאות ב-Microsoft Excel: מה ההבדל?
- › תיקיית המחשב היא 40: איך כוכב Xerox יצר את שולחן העבודה
- & rsaquo; סייבר מאנדיי 2021: המבצעים הטובים ביותר של אפל
קובץ היחידה לא צריך להיות בר הפעלה, אבל ההרשאות בקובץ היחידה צריכות להגביל את מי שיכול לערוך אותו. אתה לא רוצה שמשתמש זדוני או שובב ישנה את קובץ היחידה כך שהוא יפעיל תוכנית אחרת לגמרי.
פקודה זו תעניק לבעלים הרשאות קריאה וכתיבה, והרשאות קריאה לקבוצה. לאחרים לא יהיו הרשאות.
systemd
אנחנו יכולים לקבל |_+_| בדוק עבורנו את התחביר של קובץ היחידה שלנו, גם אם השירות עדיין לא פועל. כל שגיאה תדווח. (למעשה, החלק .service הוא אופציונלי עבור רוב הפקודות.)
gedit
פרסומת
אין שגיאות מסומנות, מה שאומר שקובץ היחידה שלנו תקין מבחינה תחבירית.
התחלת השירות
כאשר אתה מוסיף קובץ יחידה חדש או עורך קובץ קיים, עליך לומר |_+_| כדי לטעון מחדש את הגדרות קובץ היחידה.
echo
אם אתה רוצה ששירות יושק בעת ההפעלה, אתה חייב לְאַפשֵׁר זה:
systemd-cat
הפעלת שירות לא מפעילה אותו, אלא רק מגדירה אותו להפעלה בזמן האתחול. כדי להתחיל את השירות עַכשָׁיו , עליך להשתמש |_+_| עם ה- |_+_| אוֹפְּצִיָה.
-p
אימות השירות
לאחר הפעלה ידנית של השירות או לאחר אתחול המחשב, נוכל לוודא שהשירות שלנו פועל כהלכה.
while
סטטוס השירות מוצג עבורנו.
אנו מציגים גם את 10 רשומות היומן האחרונות שהופקו על ידי שירות זה. באופן לא מפתיע, כולם בנפרד בדקה אחת.
עצירה והשבתה של השירות
אם אתה צריך להפסיק את השירות, אתה יכול לעשות זאת עם הפקודה הזו:
TIMESTAMP
פרסומת
זה עוצר את השירות, אבל זה לא מונע ממנו להפעיל מחדש בפעם הבאה שהמחשב יופעל מחדש. כדי להפסיק את השקת השירות בעת ההפעלה, עליך לעשות זאת להשבית זה:
/usr/local/bin
אם השירות פועל, פקודה זו לא עוצרת אותו. זה פשוט אומר |_+_| לא להפעיל את השירות באתחול הבא.
אם ברצונך לעצור את השירות ולמנוע את הפעלתו בעת ההפעלה, השתמש בשתי הפקודות.
טיפ שירות
ודא שהתוכנית שלך פועלת כצפוי לפני שאתה מנסה להפעיל אותה כשירות.
קָשׁוּר: מחשבי Linux הטובים ביותר למפתחים וחובבי
קרא את הבאדייב מקיי השתמש לראשונה במחשבים כשסרט נייר מחורר היה באופנה, ומאז הוא מתכנת. לאחר למעלה מ-30 שנה בתעשיית ה-IT, הוא כעת עיתונאי טכנולוגיה במשרה מלאה. במהלך הקריירה שלו, הוא עבד כמתכנת עצמאי, מנהל צוות פיתוח תוכנה בינלאומי, מנהל פרויקטים של שירותי IT, ולאחרונה כמנהל הגנת מידע. הכתיבה שלו פורסמה על ידי howtogeek.com, cloudsavvyit.com, itenterpriser.com ו-opensource.com. דייב הוא אוונגליסט של לינוקס ותומך בקוד פתוח.
קרא את הביוגרפיה המלאה