9
votes

Démarrer Apachectl de Bash

J'écris un fichier Bash. J'ai besoin de démarrer apachectl de mon fichier bash. donc j'ai écrit: xxx

Lorsque je l'exécute avec root, une erreur s'est produite: xxx

j'ai cherché et je l'ai trouvé que je devrais Soyez Super utilisateur avec SU - pas su

maintenant, je veux savoir:

  • pourquoi cette erreur s'est produite?

  • Comment puis-je l'exécuter avec su ?


2 commentaires

Il ressemble à apachectl n'est pas dans votre chemin. Essayez Rechercher / -Name Apachectl .


Oui merci, c'était dans / usr / sbin /, alors merci!


8 Réponses :


9
votes

L'erreur de commande non trouvée est parce que "Apachectl" n'est pas dans votre chemin. Utilisez simplement le chemin complet de la commande, par exemple

/etc/init.d/aPachectl Démarrer

Si vous obtenez une erreur de permission refusée, vous devez exécuter en tant qu'utilisateur différent. C'est un problème différent cependant.


0 commentaires

18
votes

Dans les scripts Shell, vous devez utiliser des chemins complets afin d'exécuter la commande sauf si le répertoire avec exécutable déjà en $ chemin. Par exemple, trouvez où se trouve Apachectl Binarys: xxx pré>

ou p> xxx pré>

et vous obtiendrez quelque chose comme: p>

/usr/local/sbin/apachectl


0 commentaires

2
votes

Il semble que la commande apachectl n'est pas dans votre chemin d'environnement. Localisez le répertoire, où apachectl réside et ajoutez ceci à votre page ou démarrez-le avec le chemin complet. La plupart des distributions modernes utilisent sudo pour permettre aux utilisateurs gagnant des droits élevés, vous devez donc utiliser sudo , si disponible pour vous.


0 commentaires

5
votes

Utilisez la commande Rechercher pour rechercher d'abord Apachecetl

/usr/local/apache/bin/apachectl restart


0 commentaires

0
votes

Tuez d'abord tout le service httpd à l'aide de ... XXX PRE>

Deuxièmement, trouvez Apachectl. Appuyez sur Ctrl + R dans la borne Entrez un mot "Apachectl" pour rechercher le chemin "Apachectl". P>

Après avoir sélectionné: P>

sudo <path>/apachectl stop|start


1 commentaires

Après démarrage Apache Sudo Service HTTPD Démarrer



1
votes

ci-dessous commande travaillé pour moi:

sudo / usr / sbin / apachectl -kstart


0 commentaires

-1
votes

Eh bien, cela arrive pourquoi votre port est utilisé maintenant d'autres services. car vous savez que

Service est utilisé Ecrire Next Comand de NetStat:

  • Sudo Netstat -Tanp.

    Si vous voulez connaître le port 8080, utilisez Suivant Comand:

    • Trong TextSudo SS -NTLP 'SPORT = 80'.

      Dans mon cas a été exécuté lightpd alors appliquez la prochaine Commission:

      • sudo apt-get supprimer légmertpd.

1 commentaires

Veuillez améliorer la grammaire, l'explication n'est pas très claire.



1
votes

La réponse ci-dessus m'a beaucoup aidé mais les commandes doivent être: xxx


0 commentaires