Python os.kill() - 向具有指定进程id的进程发送指定的信号

Python os.kill()方法

Python os.kill() 方法用于向具有指定进程id的进程发送指定的信号。在信号模块中定义了主机平台上可用的特定信号的常量。

os.kill 语法

os.kill(pid, sig)

os.kill 参数

pid:整型值,表示要发送信号的进程号。

一个整数,表示信号数或信号常量,在被发送的信号模块中定义的主机平台可用。

返回类型:此方法不返回任何值。

os.kill 示例1

使用 os.kill() 方法

# Python program to explain os.kill() method
 
# importing os and signal module 
import os, signal
 
# Create a child process
# using os.fork() method
pid = os.fork()
 
 
# pid greater than 0
# indicates the parent process
if pid :
     
 
     
    print("\nIn parent process")
 
    # send signal 'SIGSTOP'
    # to the child process
    # using os.kill() method
    # 'SIGSTOP' signal will
    # cause the process to stop
    os.kill(pid, signal.SIGSTOP)
      
    print("Signal sent, child stopped.")
 
 
 
    info = os.waitpid(pid, os.WSTOPPED)
    # waitpid() method returns a
    # tuple whose first attribute
    # represents child's pid
    # and second attribute
    # representing child's status indication 
 
    # os.WSTOPSIG() returns the signal number
    # which caused the process to stop
    stopSignal = os.WSTOPSIG(info[1])
    print("Child stopped due to signal no:", stopSignal)
    print("Signal name:", signal.Signals(stopSignal).name)
 
     
    # send signal 'SIGCONT'
    # to the child process
    # using os.kill() method
    # 'SIGCONT' signal will
    # cause the process to continue
    os.kill(pid, signal.SIGCONT)
    print("\nSignal sent, child continued.")
     
     
else :
     
    print("\nIn child process")
    print("Process ID:", os.getpid())
    print("Hello ! Geeks")
    print("Exiting")

输出:

In child process

In parent process
Signal sent, child stopped.
Child stopped due to signal no: 19
Signal name: SIGSTOP

Signal sent, child continued.

Process ID: 5166
Hello! Geeks
Exiting

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程