2012-02-19 6 views
5

Я пишу файл bash. Мне нужно запустить apachectl из моего файла bash. так я писал:начало apachectl из bash

apachectl start 

Когда я запускаю его с корнем, произошла ошибка:

apachectl: command not found 

Я искал, и я обнаружил, что я должен быть суперпользователя с su - не su

Теперь, я хочу знать:

  • Почему эта ошибка возникла?

  • Как я могу запустить его с помощью su?

+2

Похоже 'apachectl' не на своем пути. Попробуйте 'find/-name apachectl'. – cnicutar

+0

да, спасибо, это было в/usr/sbin /, So Thanks! –

ответ

4

Ошибка команды не найдена потому, что «apachectl» не находится на вашем пути. Просто используйте полный путь команды, например.

/etc/init.d/apachectl начать

Если вы получили разрешение отказано ошибка, то вам нужно запустить в качестве другого пользователя. Но это другая проблема.

11

В сценариях оболочки вы должны использовать полные пути для выполнения команды, если только каталог с исполняемым файлом уже находится в $ PATH. Например, найти где apachectl двоичная находится:

which apachectl 

или

whereis apachectl 

и вы получите что-то вроде:

/usr/local/sbin/apachectl 

Так, используйте это.

2

Кажется, что команда apachectl не находится в вашем окружении. Найдите каталог, в котором находится apachectl, и добавьте это в свой PATH или запустите его с полным путем. В большинстве современных дистрибутивов используется sudo, чтобы пользователи могли получать повышенные права, поэтому вы должны использовать sudo, если они доступны.

3

Используйте команду поиска, чтобы сначала найти apachecetl

find/-name apachectl 

Затем вы можете проверить это, выполнив команду состояния (при условии, что это место с командой поиска)

/usr/local/sbin/apachectl status 

Тогда вы можете необходимо перезапустить apache, если есть проблема

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

Сначала уничтожьте все службы httpd, используя ...

sudo killall -9 httpd 

Во-вторых, найдите apachectl. Нажмите ctrl + r в терминал, введите слово «apachectl». Найдите путь «apachectl».

После выбора:

sudo <path>/apachectl stop|start 
+0

После запуска apache sudo service httpd start – diegohsi

Смежные вопросы