Rumah > pembangunan bahagian belakang > Tutorial Python > Membawa anda memahami Penyelia alat pengurusan proses Python

Membawa anda memahami Penyelia alat pengurusan proses Python

WBOY
Lepaskan: 2022-07-28 15:34:46
ke hadapan
2428 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Python ialah sistem pengurusan proses yang dibangunkan dalam Python, yang membolehkan pengguna memantau dan mengawal proses pada Linux Ia boleh menukar baris arahan biasa Proses menjadi a proses daemon latar belakang dan boleh dimulakan semula secara automatik apabila ia keluar secara tidak normal. Mari kita lihat.

Membawa anda memahami Penyelia alat pengurusan proses Python

[Cadangan berkaitan: Tutorial video Python3 ]

1 Supervisor ialah sistem pengurusan proses yang dibangunkan dalam Python yang membolehkan pengguna memantau dan mengawal proses di Linux Ia boleh menukar proses baris arahan biasa menjadi proses daemon latar belakang dan secara automatik dimulakan semula apabila ia keluar secara tidak normal

<.>2. Pemasangan

Penyelia menyokong Linux dan Mac, tetapi tidak menyokong WindowsSistem dalam artikel ini ialah:


Selepas pemasangan selesai, dalam Python centos,supervisor==4.2.4Akan ada beberapa fail seperti ini di bawah.

pip3 install supervisor
Salin selepas log masuk

Nota: Memandangkan direktori bin python mempunyai pembolehubah persekitaran ditambah, fail ini boleh dilaksanakan secara langsung. bin目录

ls /usr/local/Python38/bin

echo_supervisord_conf
supervisorctl
supervisord
Salin selepas log masuk
3. Cipta fail konfigurasi

1. Mula-mula buat direktori untuk menyimpan fail konfigurasi: .

Jika ralat dilaporkan -bash: /etc/supervisord.conf: Kebenaran ditolak, anda perlu bertukar kepada pengguna root. mkdir supervisord

2. Cipta laluan fail konfigurasi proses anak
echo_supervisord_conf > supervisord/supervisord.conf
Salin selepas log masuk

Tugas kami nanti, kami mahu menggunakannya sebagai proses daemon, semuanya memerlukan fail konfigurasi, kami masukkan fail konfigurasi ini direktori conf.d di bawah.

3. Ubah suai fail konfigurasi
mkdir -p supervisor/conf.d
Salin selepas log masuk

Tukar bahagian terakhir kepada

vim supervisord/supervisord.conf
Salin selepas log masuk

4 >1 .Mulakan penyelia

[inclue]
# 因为我这里是放在root用户目录下,也可以放其它目录
files=/root/supervisord/conf.d/*.conf
Salin selepas log masuk

Ini akan bermula Kami kemudiannya boleh menyerahkan tugas kami kepadanya untuk mengawalnya, ia akan dimulakan semula secara automatik.

Lihat versi

supervisord -c supervisord/supervisord.conf
Salin selepas log masuk
2 Tulis skrip Shell yang ringkas

supervisord

Kandungan adalah seperti berikut

supervisord -v
Salin selepas log masuk
Mudah dijalankan. ,

Keluar

vim supervisord/test.sh
Salin selepas log masuk
3 Cipta fail konfigurasi proses anak

#!/bin/bash
while : 
do
    echo `date &#39;+%Y-%m-%d %H:%m:%S&#39;`
    sleep 1
done
Salin selepas log masuk

dengan kandungan berikut: Ctrl C

Malah, anda hanya perlu mengkonfigurasi 3 parameter, dan anda tidak perlu risau tentang yang lain:

vim supervisor/conf.d/test.conf
Salin selepas log masuk

test.conf: Perintah permulaan sub-proses kami;

[program:test]
command=sh /root/supervisord/test.sh
priority=999                              ; 相对启动优先级,数值越小越优先,默认为999
autostart=true                            ; 在supervisor启动时自动启动,默认为true
autorestart=true                          ; 在意外退出时重新启动,默认为true
startsecs=10                              ; 子进程启动多少秒后状态为running则认为启动成功,默认为1
startretries=3                            ; 尝试启动的最大次数,默认为3
exitcodes=0,2                             ; 进程的预期退出代码列表,默认为0
stopsignal=QUIT                           ; 终止进程的信号,默认为TERM
stopwaitsecs=10                           ; 在SIGKILL之前等待的最大秒数,默认为10
user=root                                 ; 在某用户下设置uid来启动程序,默认不切换用户
redirect_stderr=true                      ; 是否重定向stdout和stderr,默认为false
stdout_logfile=/tmp/supervisor.stdout.log  ; stdout的输出文件,默认为AUTO
stdout_logfile_maxbytes=50MB              ; stdout最大文件大小,默认为50MB
stdout_logfile_backups=10                 ; stdout文件备份数,设为0则不备份,默认为10
Salin selepas log masuk

: Nama proses ialah

, jika Pada hari mana proses ingin berhenti dan bermula, dsb., nama proses diperlukan
  • command=sh /root/supervisord/test.shArus struktur direktori fail adalah seperti ini:
  • stdout_logfile=/tmp/supervisor.stdout.log4 Baca semula konfigurasi dan kemas kini proses anak
  • Oleh kerana program:test kami telah diaktifkan, anda boleh melihatnya melalui <🎜. >. Fail konfigurasi sub-proses telah ditambah dan perlu dimuat semula: test
  • Mula-mula masukkan direktori
:

, jika tidak akan ada masalah semasa melaksanakan arahan berikut.

yum install tree
tree supervisord

supervisord
├── conf.d
│   └── test.conf
├── supervisord.conf
└── test.sh
Salin selepas log masuk

Semak status proses sekali lagi

supervisordKeputusan: ps -ef | grep supervisord.conf

test RUNNING pid 30278, uptime 1:29:41supervisordcd supervisord

Proses bernama
supervisorctl reread
Salin selepas log masuk
Salin selepas log masuk
sudah berjalan di latar belakang sebagai daemon Mari kita bunuhnya:

supervisorctl status
Salin selepas log masuk
Salin selepas log masuk
Laksanakan

sekali lagi, anda akan mendapati bahawa status serta-merta berubah daripada <🎜. >, tidak Selepas beberapa ketika ia menjadi

, maka peranan
sudah jelas, ia secara automatik boleh membantu kami memantau tugasan secara automatik.

Nota: Untuk arahan yang berkaitan dengan menambah, memadam, memulakan dan menghentikan proses anak, lihat lampiran.

test5 antara muka web

kill 30278
Salin selepas log masuk

Antara muka web tidak begitu berguna, iaitu jika anda ingin memulakan atau menjeda proses, anda tidak perlu menaip arahan. supervisorctl statusstartingrunningNyah ulasansupervisord

Mulakan semula penyelia

Akses penyemak imbas: linux_ip:9001.

Lampiran: supervisorctl command common >

Tambah fail konfigurasi, muat semula

vim supervisord.conf
Salin selepas log masuk

Tukar fail konfigurasi, muat semula

[inet_http_server]
port=*:9001                ; 此处改为*便于调试
Salin selepas log masuk

Mulakan semula penyelia

supervisorctl reload
Salin selepas log masuk
Salin selepas log masuk

Lihat status semua proses

Lihat status proses yang ditentukan

supervisorctl reread
Salin selepas log masuk
Salin selepas log masuk
Mulakan semua sub-proses

supervisorctl update
Salin selepas log masuk
Mulakan sub-proses yang ditentukan

supervisorctl reload
Salin selepas log masuk
Salin selepas log masuk
Mulakan semula semua proses anak

supervisorctl status
Salin selepas log masuk
Salin selepas log masuk
Mulakan semula proses anak yang ditentukan

supervisorctl status <name>
Salin selepas log masuk
Hentikan semua proses anak

supervisorctl start all
Salin selepas log masuk
Hentikan proses anak yang ditentukan

supervisorctl start <name>
Salin selepas log masuk
Tambahkan proses anak pada kumpulan proses

supervisorctl restart all
Salin selepas log masuk
Untuk mengalih keluar proses anak daripada kumpulan proses, anda perlu menghentikannya dahulu. Nota: Selepas dialih keluar, anda perlu menggunakan baca semula dan kemas kini untuk menjalankan semula proses

supervisorctl restart <name>
Salin selepas log masuk
[Cadangan berkaitan:

Tutorial video Python3

]
supervisorctl stop all
Salin selepas log masuk

Atas ialah kandungan terperinci Membawa anda memahami Penyelia alat pengurusan proses Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan