Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?

Tôi có một thực thi được thực hiện bởi py2exe để xác minh xem VPN của tôi có được kết nối hay không ở vòng lặp vô hạn chạy trên Windows. Tôi muốn đảm bảo rằng nó chạy trong nền hoặc ẩn, tôi đã tìm kiếm một số diễn đàn và tôi thấy 2 tập lệnh hoạt động một phần.

  1. Đổi tên tập lệnh thành scrypt.py và chạy lại py2exe, .exe ẩn khi tôi chạy nó, nhưng đóng hoặc biến mất. Không tiếp tục chạy sau khi nhấp chuột.

  2. Tôi được tạo ra một exe khác để gọi người đầu tiên

    import os
    import subprocess

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
    proc.wait()

hoặc

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)

Hoạt động nhưng lệnh đầu tiên vẫn có thể nhìn thấy và khi tôi đóng nó, cuộc gọi exe đầu tiên của nó cũng thoát.

  1. Tôi đã thử cài đặt một cuộc gọi mô -đun tự.

Tôi là người mới ở Python và cố gắng thay đổi sở thích của tôi VB, VBA thành Python.

Cảm ơn vì bất kì sự giúp đỡ.

Giới thiệu nhanh đến Pythonw

Khi tôi lần đầu tiên bắt đầu sử dụng Python, tôi mặc dù bạn phải mở dấu nhắc lệnh cho tập lệnh được chạy. Sau đó, tôi phát hiện ra về Pythonw.exe. Pythonw chạy các chương trình Python của bạn trong nền ngay cả sau khi bạn đóng cửa sổ nhắc lệnh.

Sử dụng Pythonw

Chỉ cần thay đổi phần mở rộng tệp của tập lệnh Python của bạn từ .py thành .pyw và đó là nó! Bây giờ, chỉ cần nhấp đúp vào tệp .pyw mới được đặt tên và nó sẽ chạy ở chế độ nền..py to .pyw and that’s it! Now, just double click the newly named .pyw file and it will run in the background.

Chấm dứt chương trình

Nếu bạn muốn đóng chương trình Python, bạn chỉ có thể làm điều đó với Taskkill.

TASKKILL /F /IM pythonw.exe

Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?
Hình ảnh từ Wikimedia Commons

19 tháng 10 năm 2018

Mục lục

  • Làm cho tập lệnh python có thể thực thi
  • Bắt đầu tập lệnh Python trong nền
  • Tìm và tiêu diệt quá trình chạy
  • Bộ đệm đầu ra

Đây là một hướng dẫn nhanh về cách chạy tập lệnh Python trong nền trong Linux.

Làm cho tập lệnh python có thể thực thi

Đầu tiên, bạn cần thêm một dòng Shebang trong tập lệnh Python trông giống như sau:

Đường dẫn này là cần thiết nếu bạn có nhiều phiên bản Python được cài đặt và

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
0 sẽ đảm bảo rằng trình thông dịch Python đầu tiên trong biến môi trường
    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
1 của bạn được thực hiện. Bạn cũng có thể mã hóa đường dẫn của trình thông dịch Python của mình (ví dụ:
    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
2), nhưng điều này không linh hoạt và không thể 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 thi:

Bắt đầu tập lệnh Python trong nền

Bây giờ bạn có thể chạy tập lệnh với Nohup mà bỏ qua tín hiệu treo. Đ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, don không quên thêm

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
3 để tập lệnh chạy trong nền:

Nếu bạn không thêm shebang vào tệp, 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

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
4, trừ khi bạn chỉ định tệp đầu ra như ở đây:

nohup /path/to/test.py > output.log &
nohup python /path/to/test.py > output.log &

Tìm và tiêu diệt quá trình chạy

Bạn có thể tìm thấy quy trình và ID quy trình của nó với lệnh này:

Nếu bạn muốn dừng thực thi, bạn có thể giết nó bằng lệnh giết:

Cũng có thể tiêu diệt quy trình bằng cách sử dụng PKILL, nhưng hãy chắc chắn rằng bạn kiểm tra xem không có tập lệnh khác chạy cùng tên:

Bộ đệm đầu ra

Nếu bạn kiểm tra tệp đầu ra

    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
4 trong quá trình thực thi, bạn có thể nhận thấy rằng các đầu ra không được ghi vào tệp này cho đến khi thực hiện kết thúc. Điều này xảy ra vì bộ đệm đầu ra. Nếu bạn thêm cờ
    os.chdir("C:\Users\dl\Documents\Log\Py")
    proc = subprocess.Popen('ipLog.exe',  creationflags=subprocess.SW_HIDE, shell=True)
6, bạn có thể tránh bộ đệm đầu ra như thế này:

nohup python -u ./test.py &

Hoặc bằng cách chỉ định tệp nhật ký:

nohup python -u ./test.py > output.log &

  • Kiểm tra các quy trình và dịch vụ đang chạy
  • Chạy các quy trình nền trong Python
    • Bước 1: Tạo tệp Python với mã mà chúng tôi quan tâm đến việc chạy ở chế độ nền
    • Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nền
    • Gói xử lý phụ:
    • Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã
  • Giết một quá trình chạy
    • Sử dụng Trình quản lý nhiệm vụ:
    • Trên dấu nhắc lệnh:
    • Trong Python
  • Sự kết luận

Quy trình nền là các quy trình máy tính chạy đằng sau hậu trường. Ưu điểm cốt lõi của các quá trình chạy trong nền là bạn có thể thực hiện các nhiệm vụ khác ở phía trước. Trong bài viết này, chúng tôi sẽ thảo luận về cách chạy các quy trình nền bằng Python. & NBSP; Chúng tôi cũng sẽ thảo luận về cách kiểm tra và ngừng chạy các quy trình/ứng dụng.

Nội dung

  • 1 Kiểm tra các quy trình và dịch vụ đang chạy Checking Running Processes and Services
  • 2 Quy trình nền đang chạy trong Python Running background processes in Python
    • 2.1 Bước 1: Tạo tệp Python với mã mà chúng tôi quan tâm đến việc chạy ở chế độ nền Step 1: Create a Python file with the code we are interested in running in the background
    • 2.2 Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nền Step 2: Create another Python script that will wake up the Python process in the background
    • 2.3 Gói xử lý phụ: subprocess package:
    • 2.4 Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã Step 3: Execute the run_process.py file on the code editor
  • 3 Giết một quá trình chạy Killing a running process
    • 3.1 Sử dụng Trình quản lý tác vụ: Using Task Manager:
    • 3.2 trên dấu nhắc lệnh: On the command prompt:
    • 3.3 Trong Python In Python
  • 4. Kết luận Conclusion

Kiểm tra các quy trình và dịch vụ đang chạy

Chạy các quy trình nền trong Python

Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?

Bước 1: Tạo tệp Python với mã mà chúng tôi quan tâm đến việc chạy ở chế độ nền

Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nền

Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?

Chạy các quy trình nền trong Python

Bước 1: Tạo tệp Python với mã mà chúng tôi quan tâm đến việc chạy ở chế độ nềnsubprocess and os, can be used to run background processes. The general syntax is:

subprocess:

Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nềnsubprocess

subprocess.Popen().Popen(<listof commandsandoptions>)

os:

Gói xử lý phụ:os

os.system().system(<the commandsandoptions>)

Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã

Bước 1: Tạo tệp Python với mã mà chúng tôi quan tâm đến việc chạy ở chế độ nền

Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nền

Gói xử lý phụ:time

withopen("results.txt","a+")asfp:open("results.txt","a+")asfp:

    foriinrange(5):foriinrange(5):

Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã# Each loop should take around

Giết một quá trình chạy# 20 secs to execute. Total ~ 100 seconds

        time.sleep(20)time.sleep(20)

Sử dụng Trình quản lý nhiệm vụ:fp.write(f"{i}\n")

Trên dấu nhắc lệnh:

Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nền

Gói xử lý phụ:, subprocess, and os, to run the code in “process.py” in the background.

Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã

Gói xử lý phụ:

Bước 2: Tạo một tập lệnh Python khác sẽ đánh thức quá trình Python trong nềnsubprocess

subprocess.Popen(["python","process.py"],shell=True).Popen(["python","process.py"],shell=True)

Gói xử lý phụ:os package, we have

Gói xử lý phụ:os

Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã.system("python process.py")

Bước 3: Thực hiện tệp Run_Process.py trên Trình chỉnh sửa mã

Giết một quá trình chạy

Quá trình này khóa tệp results.txt, vì vậy nếu bạn cố gắng xóa nó trong quá trình hoạt động chương trình, bạn sẽ được chào đón với thông báo rằng tệp đang được sử dụng, vì vậy bạn có thể chờ hoặc tiêu diệt quy trình.

Giết một quá trình chạy

Chúng tôi cần tên hình ảnh hoặc ID quy trình (PID) để tiêu diệt một quá trình đang chạy. Thông tin này có thể được tìm thấy trên Trình quản lý tác vụ hoặc bằng cách chạy danh sách TaskL trên dòng lệnh. Bạn có thể cần nhấp chuột phải vào phần tiêu đề và chọn tên PID và xử lý trên Trình quản lý tác vụ (xem bên dưới).. This information can be found on the Task Manager or by running the tasklist on the command line. You might need to right-click on the title section and select PID and Process name on Task Manager (see below).

Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?

Bất kỳ tùy chọn nào sau đây đều có thể được sử dụng để chấm dứt quy trình chạy (tham khảo ảnh chụp màn hình trên của Trình quản lý tác vụ cho các điểm sau).

Sử dụng Trình quản lý nhiệm vụ:

Chọn quy trình, nhấp chuột phải và nhấp vào Tác vụ Kết thúc ở phía dưới bên phải của cửa sổ Trình quản lý.

Trên dấu nhắc lệnh:

  • Ví dụ, khi sử dụng PID Run, Taskill /PID /PID /F, ví dụ,, Task Taskill /PID 11024 /F, để tiêu diệt trình tải CTF.taskkill /PID /PID /F“, for example, “taskkill /PID 11024 /F” to kill CTF Loader.
  • Khi sử dụng tên hình ảnh, hãy chạy Task Taskill /IM /IM /F, & NBSP; Ví dụ, Taskkill /im ctfmon.exe /f, để tiêu diệt bộ tải CTF.taskkill /IM /IM /F”  for example “taskkill /IM ctfmon.exe /F” to kill CTF Loader.

Trong Python

Bạn có thể tiêu diệt các tác vụ đang chạy bằng cách sử dụng quá trình phụ hoặc hệ điều hành như sau (lưu ý rằng bạn cần nhập các gói này):subprocess or os as follows (note that you need to import these packages):

  • phụ
  • Os.System (Hồi Taskkill /IM ctfmon.exe /f,)

Lưu ý: Tùy chọn /F được cấp cho lệnh Taskkill là tùy chọn. Nó được sử dụng để chấm dứt một quá trình một cách mạnh mẽ. Tùy chọn này có thể cần thiết khi đóng một tác vụ được sử dụng bởi một quy trình khác, ví dụ. The /F option issued to the taskkill command is optional. It is used to terminate a process forcefully. This option might be needed when closing a task used by another process, for example.

PID thay đổi mỗi khi bạn mở quy trình/ứng dụng. Điều này có nghĩa là PID được sử dụng để tiêu diệt một tác vụ được tạo bởi một ứng dụng nhất định có thể không hoạt động khi ứng dụng được đóng và mở lại. Trong trường hợp như vậy, tên hình ảnh là một tùy chọn tốt hơn để sử dụng.. This means that the PID used to kill a task generated by a given app may not work when an app is closed and opened again. In such a case, Image Name is a better option to use.

Sự kết luận

Trong bài viết này, chúng tôi đã thảo luận về cách thức dậy một quá trình và tiếp tục chạy trong nền bằng Python. Chúng tôi đã chứng minh làm thế nào điều này được thực hiện bằng cách chạy một quy trình Python.exe trong nền (bạn có thể làm điều này với bất kỳ quy trình nào). Cuối cùng, chúng tôi đã chỉ ra cách chấm dứt một quy trình đang chạy bằng cách sử dụng các gói Trình quản lý nhiệm vụ, dấu nhắc lệnh và Python.

Hướng dẫn how do i run a python exe in the background? - làm cách nào để chạy exe python trong nền?

Làm cách nào để chạy một Python thực thi trong nền?

Cách dễ nhất để chạy tập lệnh Python để chạy trong nền là sử dụng tính năng Cronjob (trong MacOS và Linux). Trong Windows, chúng ta có thể sử dụng Trình lập lịch tác vụ Windows. Sau đó, bạn có thể đưa ra đường dẫn của tệp tập lệnh Python của bạn để chạy vào một thời điểm cụ thể bằng cách đưa ra các chi tiết thời gian.use cronjob feature (in macOS and Linux). In windows, we can use Windows Task Scheduler. You can then give the path of your python script file to run at a specific time by giving the time particulars.

Làm thế nào để tôi chạy một exe trong nền?

Làm thế nào để chạy tệp exe trong nền Câu trả lời mã..
Bộ xử lý bắt đầu "C: \ Files Files \ Prometheus.io \ Prometheus.exe" -WindowStyle ẩn. ....
WorkDirectory param cũng có thể được sử dụng để bắt đầu chương trình trong một thư mục cụ thể ..

Tập lệnh Python có chạy trong nền không?

Nó sẽ trực tiếp đặt đầu ra vào tệp bạn đã chọn..

Làm cách nào để chạy mã python từ exe?

Tạo thực thi script python bằng pyinstaller..
Bước 1: Thêm Python vào đường dẫn Windows.Để bắt đầu, bạn có thể muốn thêm Python vào đường dẫn Windows.....
Bước 2: Cài đặt gói pyinstaller.....
Bước 3: Lưu tập lệnh Python của bạn.....
Bước 4: Tạo thực thi bằng PyInstaller.....
Bước 5: Chạy thực thi ..