#linux #jetty #sudo #pid
#linux #jetty #sudo #pid
Вопрос:
Jetty на нашем сервере Linux не установлен как сервис, поскольку у нас есть несколько серверов jetty на разных портах. И мы используем команду ./jetty.sh stop
и ./jetty.sh start
для остановки и запуска jetty.
Однако, когда я добавляю sudo в команду, сервер никогда не останавливается / не запускается успешно. Когда я запускаю sudo ./jetty.sh stop
, он показывает
Stopping Jetty: start-stop-daemon: warning: failed to kill 18772: No such process
1 pids were not killed
No process in pidfile '/var/run/jetty.pid' found running; none killed.
и сервер не был остановлен.
Когда я запускаю sudo ./jetty.sh start
, он показывает
Starting Jetty: FAILED Tue Apr 23 23:07:15 CST 2019
Как это могло произойти? Насколько я понимаю. Использование sudo дает вам больше возможностей и привилегий для выполнения команд. Если вы можете успешно выполнить без sudo, то команда никогда не должна завершаться с ошибкой sudo, поскольку она предоставляет только привилегии суперпользователя.
Ответ №1:
В качестве пользователя он использует $HOME
.
В качестве root он использует системные пути.
Ошибка, которую вы получили..
Stopping Jetty: start-stop-daemon: warning: failed to kill 18772: No such process
1 pids were not killed
No process in pidfile '/var/run/jetty.pid' found running; none killed.
… означает, что для процесса, который больше не существует, был поврежден файл pid.
Короткий ответ, обработка отличается, если вы являетесь root (службой) или пользователем (просто приложением).