שאלה כיצד להפעיל / להפסיק / להפעיל את השירותים launchd משורת הפקודה?


כיצד ניתן לבצע הפעלה מחדש, למשל עבור httpd או afdd, הפעלת כל Mac OS X> 10.5 (Leopard), מבלי להשתמש בממשק הגרפי וללכת העדפות מערכת -> שיתוף ואת הסימון / בדיקת "שיתוף אינטרנט"?

אני מחפש את המקבילה הקנונית לדביאן invoke-rc.d apache2 restart.

עריכה: השאלה היא על שירותים מבוקרים באופן כללי, לא ספציפית אפאצ 'י (- אשר היה פשוט דוגמה).


128
2017-10-26 12:21




מן התשובות עד כה, נכון להניח שאין פקודה launchctl יחיד איתחול שירות? - JS.


תשובות:


היי launchctl (8) הוא חבר שלך. רק זכור כי חלק מהשירותים (sshd למשל) מושבתים בקובץ התצורה, כך שיהיה עליך להשתמש -w המתג בעת טעינת אותם. הנה דוגמה sshd:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 

אתה יכול לעצור את השירות באמצעות unload משנה.

$ sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist 

כדי לרשום את השירותים, כפי שאולי ניחשת כבר להשתמש בסעיף 'תת רשימה';)

תעשה חיים, n


143
2017-10-26 14:00



בנוסף, launchctl list לא מתלונן אבל לא מראה הכל, sudo launchctl list יש צורך בכך. - conny
זה לא שזה לא מראה הכל, זה מראה רשימה אחרת לגמרי. כאשר אתה מפעיל launchctl כמשתמש רגיל, הוא מציג / מנהל LaunchAgents פועל בפגישה המשתמש שלך; לרוץ כמו שורש, זה מראה / מנהל LaunchDaemons המערכת כולה. - Gordon Davisson
אני יכול לראות "com.openssh.sshd" ברשימה, אז אני מניח כי תצורה הוא "טעון". עכשיו, איך מגיעים למשל sudo launchctl start com.openssh.sshd לא עושה כל דבר, לא evan להיכשל עם הודעת שגיאה, אפילו פחות כל כך בעצם להפעיל משהו? - conny
@conny זה עלול להיות מבלבל במקרה הכללי, אולם כאשר אתה כותב שירות ואתה חושד למשל כי משהו מגעיל קורה בעת האתחול, אתה יכול לטעון את זה פעם אחת את השימוש 'להפסיק' / 'התחל' כדי debug את הבעיה . - nayden
למה שום אזכור של launchctl start <label> או launchctl stop <label>? אם זה כבר התחיל על ידי launchctl אין צורך לטעון מחדש את הקובץ plist (אלא אם כן הוא השתנה גם?). זה מעצבן אין restart או reload פקודה. מישהו יודע על דרך אחת הפקודה לעשות (למשל) mongod להרים שינוי קובץ config? אני פשוט לא מרוצה ... stop ... && ... start .... - Brian


sudo launchctl load -w / System /Library/LaunchDaemons/org.apache.httpd.plist


7
2017-10-26 14:20





אתה מחפש launchctl.

SYNOPSIS
 launchctl [subcommand [arguments ...]]

DESCRIPTION
 launchctl interfaces with launchd to load, unload daemons/agents and gen-
 erally control launchd.  launchctl supports taking subcommands on the
 command line, interactively or even redirected from standard input.
 These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf
 to be read at the time launchd starts.

2
2017-10-26 13:27



אבל קריאת דף-האדם אינה מספרת לי מה שווה invoke-rc.d my-little-daemon restart הוא ... זה מתייחס "job_label" אבל לא אומר לי איך לרשום את "job_label" זה זמין. - conny
אני חושב תשובתו של nayden יש מכוסה זה. - eric.s


אתה יכול פשוט לעשות

sudo launchctl stop com.openssh.sshd

אם אינך יודע את שם השירות המלא, תוכל לעשות זאת

sudo launchctl list

אם עדיין אינך מוצא את השירות שציפית, נסה לפעול ללא זהות השורש:

launchctl list

ואתה לא צריך לפרוק לטעון שירות.


2
2017-12-26 13:05



ניסיתי את זה ועכשיו אני לא יכול להשתמש ssh מהמק שלי. אתחול מחדש לא לתקן. מחליף stop עם start גם לא לתקן. - P i
ניסיתי את זה ואני עדיין יכול ssh ל- Mac שלי! - Michael
@ dmitriy-apollonin זה לא עובד, אתה חייב להשתמש sudo unload /System/Library/LaunchDaemons/ssh.plist במקום זאת. - SebMa


sudo apachectl restart

עובד עם OSses אחרים, כמו גם חלק Apache.


1
2017-10-26 12:27



למרות שהנושא אינו מזכיר את האפאצ'י בפרט, הייתי צריך לצפות את הפירוש הזה ... אני מצטער, אבל זה לא היה מה שחיפשתי :) - conny
בסדר, אני catched חלק httpd, אשר באמצעות apachectl הוא גרסה קלה :) - Sven♦


רק במקרה שאתה מחפש launchctl reload, אתה יכול להגדיר פונקציה פגז שלך ~/.bashrc/.zshrc כמו שעשיתי:

function lctl {
    COMMAND=$1
    PLIST_FILE=$2
    if [ "$COMMAND" = "reload" ] && [ -n "$PLIST_FILE" ]
      then
        echo "reloading ${PLIST_FILE}.."
        launchctl unload ${PLIST_FILE}
        launchctl load ${PLIST_FILE}
      else
        echo "either command not specified or plist file is not defined"
    fi
}

ביצוע פקודות נראה כמו -> lctl reload <your-plist-name>.plist


1
2017-10-12 09:21





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

syslog -w

קריאה עוזר אף.


0
2018-03-08 13:34





אני לא יודע זה מה שאתה מחפש אבל אתה יכול לנסות top פקודה פשוטה כי אני מוצא די שימושי.


0
2018-04-18 19:11



אבל זה רק מראה procceses פועל ואני לא חושב שאתה יכול להתחיל / להפסיק / להפעיל מחדש כל - user411190
זה ייתן לך להפסיק תהליכים, אבל מתחיל לא כל כך הרבה. - chicks