Cờ apache2ctl là gì?


11

Tôi đã tìm kiếm trong một giờ và đã tìm thấy hàng trăm ví dụ sử dụng nó, nhưng không có lời giải thích về những gì nó làm. Tôi đã kiểm tra man apache2ctl; nó cũng không giải thích cờ k (mặc dù nó sử dụng nó trong các ví dụ).

Câu trả lời:


8

Vâng, đó là một chút chôn vùi trong mô tả :

Khi hành động trong chế độ chuyển qua, apachectlcó thể lấy tất cả các đối số có sẵn cho httpdnhị phân.

apachectl [ httpd-argument ]

Vì vậy, hãy xem httptài liệu của sau đó:

-k start|restart|graceful|stop|graceful-stop

Tín hiệu httpdđể bắt đầu, khởi động lại hoặc dừng lại.

Vì vậy, nếu bạn sử dụng -k <option>, bạn sẽ chỉ cần chuyển sang httpd, cần lập luận này.

Nếu bạn không sử dụng -k, apache2ctlthay vào đó sẽ tìm kiếm các lệnh mà nó sẽ tự xử lý, một lần nữa giống như httpdsẽ thực hiện.


Nhìn vào mã nguồn thể hiện hành vi này, trong đó một casecâu lệnh kiểm tra xem đối số đầu tiên có phải là một trong các lệnh nội bộ được công nhận hay không, và cuối cùng (như một dự phòng), mọi thứ được truyền vào httpd.

case $ARGV in
start)
  HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
  # ...
stop|graceful-stop)
  # ...
# ...
*)
    $HTTPD ${APACHE_ARGUMENTS} $ARGV
    ERROR=$?
esac

Tôi mới biết điều này. Bạn có thể giải thích cho tôi bằng tiếng Anh đơn giản, việc sử dụng cờ k thực sự sẽ làm gì? Trên máy chủ Ubuntu của tôi, dường như không có sự khác biệt nào nếu tôi sử dụng cờ k hay không, nó luôn khởi động lại thành công theo như tôi có thể nói.
BadHorsie

Những gì bạn đang thấy là bình thường. Như tôi đã nói, nếu bạn không sử dụng -k, thì nó apachectlsẽ tự xử lý các lệnh, nhưng nó thực hiện tương tự như httpd. Nếu bạn sử dụng -k, lệnh được chuyển sang nguyên trạng httpd.
slhck

Tôi vẫn không thực sự biết điều đó có nghĩa là gì về chức năng, thành thật mà nói, nhưng bạn có nói rằng điều đó không quan trọng nếu bạn sử dụng cờ -k hay không, nó sẽ làm điều tương tự theo cách vòng vo ?
BadHorsie

1
Đó là những gì tôi đang nói, yeah. Đó là vì lý do lịch sử mà cả hai hoạt động.
slhck

"chôn ít"? Tại sao không gọi đây là - tài liệu apache thực sự hút. Tôi không nghĩ rằng điều này là vì lý do lịch sử, là vì lý do chuyển những lý lẽ khác cho httpd.
Palo

2

Chỉnh sửa để thêm: Xin lỗi, loại slhck nhanh hơn tôi: D

'' -K thực sự được chuyển qua httpd.

http://httpd.apache.org/docs/2.2/programs/apachectl.html

Khi hành động trong chế độ chuyển qua, apachectl có thể lấy tất cả các đối số có sẵn cho nhị phân httpd.

apachectl [đối số httpd]

Vì vậy, từ trang người dùng httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html

-k start | restart | Graceful | stop | Graceful-stop Tín hiệu httpd để bắt đầu, khởi động lại hoặc dừng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.