Jestem nowy w Linuksie i testowałem się przy użyciu instancji Amazon Lightsail (Ubuntu 16.04 LTS).
Przeglądając wiele przewodników, z którymi się zetknąłem, widzę ludzi używających różnych poleceń do uruchamiania / zatrzymywania / restartu / przeładowywania / sprawdzania statusu usługi. W szczególności te;
sudo systemctl status apache2.service
sudo /bin/systemctl status apache2.service
sudo /etc/init.d/apache2 status
sudo service apache2 status
Wszystkie powyższe polecenia działają.
- Czy wolę jedno polecenie od drugiego?
- Jeśli tak, to dlaczego?
- Czy są jeszcze jakieś polecenia, o których muszę wiedzieć?
Użycie init.d w Monit spowodowało problemy, gdy chciałem użyć opcji statusu (status będzie taki, że usługa jest offline, kiedy była w trybie online - ponownie uruchomiona przez Monit). Zmień kod w Monit z inid.d na / bin / systemctl naprawił go.
Wygląda na to, że użycie init.d dostarcza więcej informacji o tym, co się stało, że inni. Jeśli powinienem używać jednego z innych poleceń, czy jest możliwe, aby wyświetlały więcej informacji o tym, co zostało zrobione?
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:~$
Chciałbym z góry podziękować wszystkim, którzy poświęcili czas na przeczytanie i odpowiedź na to pytanie.
systemctl
jest preferowaną składnią i service
zapewnia zgodność wsteczną. /etc/init.d/pure-ftpd
lub podobnie wywołują skrypty start / stop bezpośrednio.