2012-02-19 17 views
5

Yo escribo un archivo bash. Necesito comenzar apachectl desde mi archivo bash. Así que escribí:apachectl partir de fiesta

apachectl start 

Cuando corro con raíz, se produjo un error:

apachectl: command not found 

me buscó y me encontró que, yo debería ser superusuario con su - no su

Ahora, quiero saber:

  • ¿por qué ocurrió este error?

  • ¿Cómo podría funcionar con su?

    error
+2

Parece que 'apachectl' no se encuentra en su camino. Pruebe 'find/-name apachectl'. – cnicutar

+0

sí, gracias, estaba en/usr/sbin /, ¡Gracias! –

Respuesta

4

El comando no encontrado es porque "apachectl" no se encuentra en su camino. Simplemente use la ruta completa del comando, p.

/etc/init.d/apachectl comenzar

Si obtiene un error de permiso denegado, entonces usted necesita para funcionar como un usuario diferente. Sin embargo, ese es un problema diferente.

11

en los scripts que debe usar rutas completas con el fin de ejecutar el comando a menos directorio con ejecutable ya en el $ PATH. Por ejemplo, saber dónde encontrar el binario apachectl:

which apachectl 

o

whereis apachectl 

y obtendrá algo como:

/usr/local/sbin/apachectl 

Por lo tanto, el uso que.

2

Parece, que el comando apachectl no está en la ruta de entornos. Busque el directorio donde reside el apachectl y agréguelo a su PATH o comience con la ruta completa. La mayoría de las distribuciones modernas usan sudo para permitir a los usuarios obtener derechos elevados, por lo que debe usar sudo, si está disponible para usted.

3

utilizar el comando Buscar para localizar primera apachecetl

find/-name apachectl 

A continuación, puede probarlo mediante la ejecución del comando de estado (suponiendo que esto es la ubicación del comando find)

/usr/local/sbin/apachectl status 

entonces puede que tenga que reiniciar apache si hay un problema

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

en primer lugar matar a todo el servicio httpd utilizando ...

sudo killall -9 httpd 

En segundo lugar, encuentre apachectl. Presione ctrl + r en la terminal ingrese una palabra "apachectl" Para encontrar la ruta de "apachectl".

tras la selección:

sudo <path>/apachectl stop|start 
+0

Después de iniciar apache sudo service httpd start – diegohsi

Cuestiones relacionadas