编写一个程序,以信号SIGTERM结束程序参数所指定的进程(通过进程号指定),并提示该进程是否被正确结束了。
时间: 2023-07-14 18:13:47 浏览: 49
以下是一个简单的Python程序,可以通过传入进程号,向指定进程发送 SIGTERM 信号,然后等待该进程结束,并输出该进程是否被正确结束的信息。
```python
import os
import signal
import sys
if len(sys.argv) < 2:
print("Usage: python terminate_process.py pid")
sys.exit(1)
pid = int(sys.argv[1])
try:
os.kill(pid, signal.SIGTERM)
print("Sent SIGTERM signal to process", pid)
except OSError as e:
print("Failed to send SIGTERM signal to process", pid, ":", e)
sys.exit(1)
try:
os.waitpid(pid, 0)
print("Process", pid, "successfully terminated")
except OSError as e:
print("Failed to terminate process", pid, ":", e)
sys.exit(1)
```
该程序首先通过 `sys.argv` 获取传入的参数,即需要结束的进程号。然后,使用 `os.kill()` 函数向指定进程发送 SIGTERM 信号。如果发送信号失败,则输出错误信息并退出程序。
如果成功发送信号,则使用 `os.waitpid()` 函数等待指定进程退出。如果进程正常退出,则输出成功信息;否则,输出错误信息。
你可以在命令行中运行该程序,例如:
```
python terminate_process.py 1234
```
其中,1234 是需要结束的进程号。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)