Pertanyaan start-stop-daemon tidak menulis ke file nginx.pid meskipun file tersebut ada


Ini mungkin seperti pertanyaan yang berulang tetapi tidak. Saya menemukan beberapa artikel di dalamnya start-stop-daemon tidak membuat file PID. Tetapi dalam kasus saya, saya sudah membuat file PID. Saya menjalankan perintah ini di server saya untuk memulai Nginx:

/mnt/nginx/logs/nginx.pid
start-stop-daemon --start --quiet --pidfile /mnt/nginx/logs/nginx.pid --exec /usr/local/sbin/nginx

File PID sudah ada tetapi masih start-stop-daemon tidak menulis ke file. Saya bahkan mencoba menggunakan --make-pidfile pilihan tetapi kemudian start-stop-daemon menulis pid salah ke file.


6
2017-09-17 11:22


asal


Jawaban:


Itu --make-pidfile opsi diperlukan. Alasannya start-stop-daemon menulis "salah pid" itu nginx garpu. Ini dicatat dalam start-stop-daemon halaman manual:

   -m, --make-pidfile
          Used when starting a program that does not create  its  own  pid
          file.  This  option  will make start-stop-daemon create the file
          referenced with --pidfile and place the pid into it just  before
          executing  the  process. Note, the file will not be removed when
          stopping the program.  NOTE: This feature may not  work  in  all
          cases.  Most  notably when the program being executed forks from
          its main process. Because of this, it  is  usually  only  useful
          when combined with the --background option.

(Lihat bagian yang bercinta.)

Anda harus menggunakan solusi yang berbeda, seperti mendapatkan nginx untuk membuat file pid sendiri.


7
2017-12-28 03:15