Đường dẫn này là cần thiết nếu bạn đã cài đặt nhiều phiên bản Python và
chmod +x test.py
0 sẽ đảm bảo rằng trình thông dịch Python đầu tiên trong biến môi trường chmod +x test.py
1 của bạn được sử dụng. Bạn cũng có thể mã hóa cứng đường dẫn của trình thông dịch Python của mình [e. g. chmod +x test.py
2], nhưng điều này không linh hoạt và không di động trên các máy khác. Tiếp theo, bạn sẽ cần đặt quyền của tệp để cho phép thực thichmod +x test.py
Bắt đầu tập lệnh Python trong nềnBây giờ bạn có thể chạy tập lệnh với Nohup bỏ qua tín hiệu gác máy. Điều này có nghĩa là bạn có thể đóng thiết bị đầu cuối mà không dừng thực thi. Ngoài ra, đừng quên thêm
chmod +x test.py
3 để tập lệnh chạy ở chế độ nềnnohup /path/to/test.py &
Nếu bạn không thêm shebang vào tệp, thay vào đó, bạn có thể chạy tập lệnh bằng lệnh này
nohup python /path/to/test.py &
Đầu ra sẽ được lưu trong tệp
chmod +x test.py
4, trừ khi bạn chỉ định tệp đầu ra như ở đây________số 8
Tìm và giết tiến trình đang chạyBạn có thể tìm thấy quy trình và Id quy trình của nó bằng lệnh này
ps ax | grep test.py
Nếu bạn muốn dừng thực thi, bạn có thể tắt nó bằng lệnh kill
chmod +x test.py
0Cũng có thể tắt tiến trình bằng cách sử dụng pkill, nhưng hãy đảm bảo rằng bạn đã kiểm tra xem có tập lệnh nào khác đang chạy cùng tên không
chmod +x test.py
1Bộ đệm đầu raNếu bạn kiểm tra tệp đầu ra
chmod +x test.py
4 trong khi thực thi, bạn có thể nhận thấy rằng các kết quả đầu ra không được ghi vào tệp này cho đến khi quá trình thực thi kết thúc. Điều này xảy ra do bộ đệm đầu ra. Nếu bạn thêm cờ chmod +x test.py
6, bạn có thể tránh hiện tượng đệm đầu ra như thế nàyHãy để chúng tôi xem cách chạy một chương trình hoặc dự án Python trong nền i. e. chương trình sẽ bắt đầu chạy từ thời điểm thiết bị được bật và dừng khi tắt hoặc khi bạn đóng thiết bị. Chỉ cần chạy một lần để đảm bảo chương trình không có lỗi
Một cách là sử dụng pythonw, pythonw là phép nối của python+không có cửa sổ đầu cuối, tôi. e. chạy python không có cửa sổ terminal. Bạn có thể sử dụng nó bằng cách chạy dòng sau trên thiết bị đầu cuối
pythonw
Đây là hình nền. py là tập tin
Trong Linux và mac, để chạy các tệp py ở chế độ nền, bạn chỉ cần thêm & ký sau khi sử dụng lệnh, nó sẽ báo cho trình thông dịch chạy chương trình ở chế độ nền
tên tệp python. py &
Nó sẽ chạy chương trình ở chế độ nền đồng thời, bạn có thể sử dụng một thiết bị đầu cuối. Sẽ có id tiến trình cho tiến trình nền, nếu muốn, bạn cũng có thể giết tiến trình bằng cách sử dụng vì bạn không thể giết nó bằng CTRL+C , Để tắt nó, hãy mở một phiên cuối khác và sử dụng lệnh
giết -9 {{id đã theo sau}} &
kill được viết tắt cho quá trình giết trong khi -9 được sử dụng để yêu cầu giết nó ngay lập tức, trạng thái tương ứng sẽ được cập nhật. Để có được đầu ra của mình, bạn có thể xóa đầu ra trong một tệp bằng cách sử dụng
tên tệp python. py > tên tệpToFlush &
Nó sẽ tạo ra đầu ra tôi. e. xả đầu ra trong tệp nhưng nó được cập nhật trong bộ nhớ đệm, bạn phải đợi chương trình kết thúc để phản ánh đầu ra trong tệp đĩa cứng. Để giải quyết vấn đề này, bạn chỉ cần nói với trình thông dịch python không sử dụng các bước bộ nhớ đệm
Kết thúc/giết tệp hiện đang chạy
Bây giờ sử dụng tiện ích
tên tệp python -u. py > FileToFlush &
Nó sẽ trực tiếp đưa đầu ra vào tệp bạn đã chọn
Nếu bạn đóng terminal trước khi kết thúc chương trình, tất cả các tiến trình được thực thi bởi terminal sẽ dừng lại, Tình trạng treo máy phát sinh để khắc phục sự cố, bạn cần sử dụng lệnh Nohup như hình bên dưới Nohup sẽ đảm bảo rằng tiến trình đó sẽ chạy cho đến khi kết thúc. . nohup là viết tắt của no hangup
nohup tên tệp python -u. py
Bây giờ bạn không cần xóa đầu ra trong bất kỳ tệp nào vì tiện ích Nohup tạo một tệp có tên Nohup. ra trong khi thực hiện. Nó sẽ giống như tệp nhật ký. Tên của phần điền đầu ra được tạo bởi Nohup sẽ phản ánh trên. Để kết thúc quá trình thực thi này, bạn sẽ cần quy trình ID, Không có vấn đề gì nếu bạn có thể nhớ hoặc nếu không thể, bạn cần tìm kiếm tệp Chỉ cần sử dụng lệnh sau
ps rìu. tên tệp grep. py
grep là để tìm kiếm mẫu, nó sẽ phản ánh id tiến trình trên thiết bị đầu cuối, chỉ cần tắt nó bằng cách sử dụng kill -9 ID. Bây giờ quá trình kết thúc