Ошибка остановки или запуска sudo./jetty

#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 (службой) или пользователем (просто приложением).