Có cách nào để thay đổi tên của quy trình đang chạy tập lệnh python trên Linux không?thay đổi tên quy trình của tập lệnh python
Khi tôi thực hiện ps
, tất cả những gì tôi nhận được là tên quy trình "python".
Có cách nào để thay đổi tên của quy trình đang chạy tập lệnh python trên Linux không?thay đổi tên quy trình của tập lệnh python
Khi tôi thực hiện ps
, tất cả những gì tôi nhận được là tên quy trình "python".
http://code.google.com/p/procname/
sử dụng mẫu:
# Lets rename:
>>> procname.setprocname('My super name')
# Lets check. Press Ctrl+Z
[email protected]:~/procname$ ps
PID TTY TIME CMD
13016 pts/2 00:00:00 bash
13128 pts/2 00:00:00 My super name <-- it's here
Nó sẽ chỉ làm việc trên các hệ thống mà prctl
hệ thống gọi là hiện tại và hỗ trợ PR_SET_NAME
lệnh.
còn có tùy chọn làm những điều sau đây, mặc dù nó chỉ hoạt động trên Linux (với prctl(2) cuộc gọi)
if sys.platform == 'linux2':
import ctypes
libc = ctypes.cdll.LoadLibrary('libc.so.6')
libc.prctl(15, 'My Simple App', 0, 0, 0)
thư viện procname không làm việc cho tôi trên ubuntu. Thay vào đó, tôi đã sử dụng setproctitle (pip install setproctitle
). Đây là những gì gunicorn sử dụng và nó làm việc cho tôi.
Có đơn giản hơn (bạn không cần nhập bất kỳ libs nào) nhưng có thể không phải là cách rất thanh lịch. Bạn không được sử dụng "env" bên trong dòng shebang.
Nói cách khác, điều này sẽ được đặt tên là "trăn" trong danh sách quá trình:
#!/usr/bin/env python
Nhưng điều này sẽ được đặt tên với Tập lệnh của bạn:
#!/usr/bin/python
Vì vậy, bạn sẽ có thể tìm thấy nó với một cái gì đó như pidof -x scriptname
hoặc ps -C scriptname
chính xác là những gì tôi đang tìm kiếm Cảm ơn bạn – user1061392
Hiệu quả khi chúng tôi đang làm việc với các tệp bash. – dlopezgonzalez
Gọn gàng! Có cách nào để thực hiện cùng một thao tác ** mà không ** phát sinh thêm độ phức tạp của phần mở rộng 'C' không? – jldupont
http://bugs.python.org/issue5672 làm cho tôi nghĩ rằng, không, không có :-( – bernie
trong vé đó, họ cũng đề cập đến một công cụ thay đổi tên quy trình khác (cũng bằng C): http: // code.google.com/p/py-setproctitle/source/browse/tools/ – bernie