Skip to content
Related Articles

Related Articles

Python | os.kill() method

View Discussion
Improve Article
Save Article
  • Difficulty Level : Expert
  • Last Updated : 03 Jul, 2021
View Discussion
Improve Article
Save Article

OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.
os.kill() method in Python is used to send specified signal to the process with specified process id. Constants for the specific signals available on the host platform are defined in the signal module.

Syntax: os.kill(pid, sig)
Parameters: 
pid: An integer value representing process id to which signal is to be sent. 
sig An integer representing signal number or the signal constant available on the host platform defined in the signal module to be sent.
Return type: This method does not return any value. 
 

Code: Use of os.kill() method  

Python3




# 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")

Output: 

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

 

References: https://docs.python.org/3/library/os.html#os.kill
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!