tra-loi-cau-hoi-phat-trien-web.com

Làm thế nào để bắt đầu / dừng / khởi động lại dịch vụ launchd từ dòng lệnh?

Làm cách nào để tôi khởi động lại, ví dụ như httpd hoặc afpd của tôi, chạy bất kỳ Mac OS X> = 10.5 (Leopard-) nào mà không phải sử dụng GUI và đi đến Tùy chọn hệ thống -> Chia sẻ và bỏ chọn/kiểm tra "Chia sẻ web"?

Tôi đang tìm kiếm kinh điển tương đương với Debian invoke-rc.d Apache2 restart.

EDIT: Câu hỏi là về nói chung các dịch vụ được kiểm soát, không cụ thể là Apache (-có đơn giản là một ví dụ).

154
conny

Xin chào launchctl (8) là bạn của bạn. Chỉ cần lưu ý rằng một số dịch vụ (ví dụ sshd) bị tắt trong tệp cấu hình, do đó bạn sẽ cần sử dụng -w chuyển khi tải chúng. Đây là một ví dụ sshd:

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

Bạn có thể dừng dịch vụ bằng cách sử dụng tiểu ban unload.

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

Để liệt kê các dịch vụ, như bạn có thể đã đoán, hãy sử dụng tiểu ban 'danh sách';)

vui vẻ nhé

169
nayden

Để khởi động lại dịch vụ, bạn có thể sử dụng launchctl kickstart lệnh, cùng với lệnh -k Lựa chọn. Ví dụ: để khởi động lại Apache, bạn có thể sử dụng

Sudo launchctl kickstart -k system/org.Apache.httpd

Thông tin này được lấy từ trang hướng dẫn launchctl:

 kickstart [-kp] service-target
          Instructs launchd to run the specified service immediately, regardless of its
          configured launch conditions.

          -k       If the service is already running, kill the running instance before
                   restarting the service.
          [...]
7
jochen

Sudo launchctl tải -w/System/L Library/LaunchDaemons/org.Apache.httpd.plist

7
user58316

Bạn chỉ có thể làm

Sudo launchctl stop com.openssh.sshd

Nếu bạn không biết tên dịch vụ đầy đủ, bạn có thể làm

Sudo launchctl list

Nếu bạn vẫn không tìm thấy dịch vụ mà bạn mong đợi, hãy thử chạy mà không có danh tính gốc:

launchctl list

Và bạn không cần phải tải và tải dịch vụ.

6
Dmitriy Apollonin

Bạn đang tìm kiếm 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.
3
eric.s

Chỉ trong trường hợp nếu bạn đang tìm kiếm launchctl reload, Bạn có thể xác định hàm Shell trong ~/.bashrc/.zshrc Như tôi đã làm:

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
}

Thực thi lệnh trông giống như -> lctl reload <your-plist-name>.plist

2
Dzmitry Hubin
Sudo apachectl restart

Hoạt động với các hệ điều hành khác cũng như nó là một phần của Apache.

0
Sven

Có một ứng dụng nhỏ & hữu ích cho cái tên Lingon này. Phiên bản phần mềm miễn phí Lingon có ở đây đôi khi khởi động lại một dịch vụ có thể khó khăn.

syslog -w

đọc giúp mặc dù.

0
risyasin