2012-02-19 43 views
5

Tôi đang viết một tệp bash. Tôi cần phải bắt đầu apachectl từ tệp bash của tôi. do đó, tôi đã viết:bắt đầu apachectl từ bash

apachectl start 

Khi tôi chạy nó với root, đã xảy ra lỗi:

apachectl: command not found 

tôi đã tìm kiếm và tôi phát hiện ra rằng, tôi nên siêu người dùng với su - không su

Bây giờ, tôi muốn biết:

  • tại sao lỗi này xảy ra?

  • Tôi làm cách nào để chạy nó với su?

+2

Có vẻ như 'apachectl' không có trong đường dẫn của bạn. Hãy thử 'find/-name apachectl'. – cnicutar

+0

vâng, cảm ơn, nó nằm trong/usr/sbin /, Xin cảm ơn! –

Trả lời

4

Lỗi không tìm thấy lệnh là do "apachectl" không nằm trong đường dẫn của bạn. Chỉ cần sử dụng đường dẫn đầy đủ của lệnh, ví dụ:

/etc/init.d/apachectl bắt đầu

Nếu bạn nhận được một lỗi cho phép từ chối, sau đó bạn cần phải chạy như một người dùng khác nhau. Đó là một vấn đề khác.

11

Trong tập lệnh shell, bạn nên sử dụng đường dẫn đầy đủ để thực thi lệnh trừ khi thư mục có thực thi đã có trong $ PATH. Ví dụ, tìm nơi apachectl nhị phân tọa lạc:

which apachectl 

hoặc

whereis apachectl 

và bạn sẽ nhận được một cái gì đó như:

/usr/local/sbin/apachectl 

Vì vậy, sử dụng đó.

2

Dường như, lệnh apachectl không nằm trong đường dẫn môi trường của bạn. Tìm thư mục, trong đó apachectl nằm và thêm số này vào PATH hoặc bắt đầu bằng đường dẫn đầy đủ. Hầu hết các bản phân phối hiện đại sử dụng sudo để cho phép người dùng có quyền nâng cao, vì vậy bạn nên sử dụng sudo, nếu có sẵn cho bạn.

3

Sử dụng lệnh find để lần đầu tiên xác định vị trí apachecetl

find/-name apachectl 

Sau đó, bạn có thể kiểm tra nó bằng cách chạy lệnh tình trạng (giả sử đây là vị trí mà từ lệnh find)

/usr/local/sbin/apachectl status 

Sau đó, bạn có thể cần phải khởi động lại apache nếu có sự cố

/usr/local/apache/bin/apachectl restart 
0

Đầu tiên hãy xóa tất cả dịch vụ httpd bằng ...

sudo killall -9 httpd 

Thứ hai, tìm apachectl. Nhấn ctrl + r vào terminal nhập một từ "apachectl" Để tìm đường dẫn "apachectl".

Sau khi chọn:

sudo <path>/apachectl stop|start 
+0

Sau khi bắt đầu dịch vụ apache sudo httpd bắt đầu – diegohsi