Я пытаюсь заставить systemd делать то, что init.d сценарии сделали бы, показав состояние сервиса, автоматически будучи вручную данным команду, чтобы запуститься или остановиться. Это так или иначе возможно?
systemd, к сожалению, появляется назад, так как он работает в фоновом режиме, и затем необходимо сделать, вторая команда для проявления состояния, запуска или остановки может или не могла работать, systemd не скажет Вам, если Вы не спросите и оставляете Вас блаженно неосведомленными.
т.е. Я пытаюсь добраться
service nginx status
работать автоматически после того, как я делаю a
service nginx start
или
service nginx restart
(или в мозгу повредил systemd, systemctl start nginx.service
)
Чтобы сделать systemd более "многословным", добавьте/отключите следующие строки в вашем /etc/systemd/journald. conf
, а затем перезагрузите:
ForwardToConsole=yes
MaxLevelConsole=debug
Для вашего варианта использования нет встроенной команды, поэтому вам придется создать псевдоним для вашей любимой оболочки или простой оболочки сценария.
Мне это тоже было нужно, поэтому я сделал это функцией сценария оболочки.
# Usage
# sc start nginx
# sc start nginx php74-php-fpm
function sc {
name="${@:(2)}";
echo "COMMAND: ${1}, NAME: ${name}";
systemctl "${1}" ${name};
systemctl status ${name};
}
Сокращает процесс ввода команды следующим образом.
#systemctl start nginx; systemctl status nginx
sc start nginx
Эта команда добавлена в /root/.basrc в CentOS 7.
echo 'function sc { name="${@:(2)}"; echo "COMMAND: ${1}, NAME: ${name}"; systemctl "${1}" ${name}; systemctl status ${name}; }' >> ~/.bashrc && source ~/.bashrc
Запустите sc start nginx
COMMAND: start, NAME: nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since 토 2020-11-21 11:36:11 KST; 49s ago
Docs: http://nginx.org/en/docs/
Process: 31713 ExecStop=/bin/sh -c /bin/kill -s TERM $(/bin/cat /var/run/nginx.pid) (code=exited, status=0/SUCCESS)
Process: 31718 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 31719 (nginx)
CGroup: /system.slice/nginx.service
├─31719 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
├─31720 nginx: worker process
├─31721 nginx: worker process
├─31722 nginx: worker process
├─31723 nginx: worker process
├─31724 nginx: worker process
└─31725 nginx: worker process
11월 21 11:36:11 dev5.php79.com systemd[1]: Starting nginx - high performance web server...
11월 21 11:36:11 dev5.php79.com systemd[1]: Started nginx - high performance web server.
Gist — https://gist.github.com/ibin79/4d1d0b5c48ebbc70730292a96ae367d9