Je suis nouveau sur Linux et je me teste en utilisant une instance Amazon Lightsail (Ubuntu 16.04 LTS).
En parcourant les nombreux guides que j'ai rencontrés, je vois des personnes utiliser différentes commandes pour démarrer / arrêter / redémarrer / recharger / vérifier l'état d'un service. Plus précisément ceux-ci;
sudo systemctl status apache2.service
sudo /bin/systemctl status apache2.service
sudo /etc/init.d/apache2 status
sudo service apache2 status
Toutes les commandes ci-dessus fonctionnent.
- Devrais-je préférer une commande à une autre?
- Si oui, alors pourquoi?
- Dois-je connaître d'autres commandes?
L'utilisation de init.d dans Monit a posé des problèmes lorsque je voulais utiliser l'option de statut (le statut sera que le service est hors ligne alors qu'il était en ligne - redémarré par Monit). Modifiez le code dans Monit de inid.d à / bin / systemctl, corrigez-le.
Il semble que l'utilisation de init.d fournisse plus d'informations sur ce qui s'est passé que les autres. Si je devais utiliser l'une des autres commandes, est-il possible de les afficher davantage d'informations sur ce qui a été fait?
ubuntu@ip-172-26-12-245:~$ sudo systemctl restart pure-ftpd.service
ubuntu@ip-172-26-12-245:~$ sudo /bin/systemctl restart pure-ftpd.service
ubuntu@ip-172-26-12-245:~$ sudo /etc/init.d/pure-ftpd restart
[ ok ] Restarting pure-ftpd (via systemctl): pure-ftpd.service.
ubuntu@ip-172-26-12-245:~$ sudo service pure-ftpd restart
ubuntu@ip-172-26-12-245:~$
Je voudrais remercier d'avance tous ceux qui ont pris le temps de lire et de répondre à cette question.
systemctl
est la syntaxe préférée et service
est fournie à titre de compatibilité ascendante. /etc/init.d/pure-ftpd
ou similaire appellent directement les scripts de démarrage / arrêt.