Chương trình Python của bạn hoàn tác nohup
.
nohup
bỏ qua tín hiệu gác máy với SIG_IGN
và sau đó chuỗi tải chương trình của bạn trong cùng một quy trình.
Chương trình Python của bạn nhanh chóng đặt lại việc xử lý tín hiệu cho tín hiệu gác máy, cài đặt trình xử lý tín hiệu của riêng nó. Trình xử lý đó kiểm tra một chức năng bên trong (không được thiết kế tốt, dựa trên một số giả định sai lầm, nếu đó là chức năng mà tôi đã thấy) và quyết định rằng hành động thích hợp khi nhận tín hiệu gác máy là in thông báo đó và thoát.
Chương trình Python của bạn theo thiết kế là không thể nohup
. Trên một hệ thống có vỏ điều khiển công việc và ngữ nghĩa công việc / phiên POSIX, bạn cần phải thực disown
hiện công việc để shell không bao giờ biết về nó để gửi tín hiệu gác máy đến nó ngay từ đầu.
(Mặc dù điều đó là không đủ trên các hệ điều hành systemd. Bởi vì những người systemd đã tạo ra một chút tai nghe về cơ chế phiên đăng nhập không gian người dùng của họ, bạn cũng cần đảm bảo rằng cơ chế của systemd báo hiệu tắt hệ thống, thay vì cúp máy, phiên đăng nhập tại mỗi lần đăng xuất cũng không được khởi động.)
đọc thêm
tmux
và bỏ quanohup
hoặc từ chối hoặc hoàn thành nhiệm vụ nền.