Python中的OS模块提供了与操作系统进行交互的函数。操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的函数的便携式方法。
os.WIFEXITED()
Python中的方法用于检查是否使用exit(2)系统调用退出了进程。此方法将os.system(),os.wait()或os.waitpid()方法返回的进程状态代码作为参数,如果该进程使用exit(2)系统调用退出,则返回True,否则返回False。
用法: os.WIFEXITED(status)
参数:
status:此参数采用os.system(),os.wait()方法或os.waitpid()方法返回的过程状态代码(整数值)。
返回类型:如果使用exit(2)系统调用退出的进程返回False,则此方法返回True。
代码:用于os.WIFEXITED()
方法
# Python program to explain os.WIFEXITED() method
# importing os module
import os
# Create a child process
# using os.fork() method
pid = os.fork()
# pid greater than 0
# indicates the parent process
if pid > 0:
# Create one more child
pid2 = os.fork()
if pid2 > 0:
print("\nIn parent process")
# Wait for the completion
# of first child process and
# get its pid and
# exit status indication using
# os.waitpid() method
info1 = os.waitpid(pid, 0)
# Wait for the completion
# of second child process and
# get its pid and
# exit status indication using
# os.waitpid() method
info2 = os.waitpid(pid2, 0)
# os.waitpid() method returns a tuple
# first attribute represents child's pid
# while second one represents
# exit status indication
# Check if the first child
# exited using exit(2) system call
# using os.WIFEXITED() method
if os.WIFEXITED(info1[1]):
print("First child exited using exit(2) system call.")
else :
print("First child does not exited using \
exit(2) system call.")
# Check if the second child
# exited using exit(2) system call
# using os.WIFEXITED() method
if os.WIFEXITED(info2[1]):
print("Second child exited using exit(2) system call.")
else :
print("Second child does not exited using \
exit(2) system call.")
else :
print("\nIn second child process")
print("Process ID:", os.getpid())
print("Hey ! there")
print("Second child aborted")
# os.abort() method will
# generate a SIGABRT signal
# to the current process.
os.abort()
else :
print("In first child process")
print("Process ID:", os.getpid())
print("Hello ! Geeks")
print("First child exiting..")
# Exit using exit(2) system call
os._exit(5)
输出:
In first child process Process ID:11614 Hello! Geeks First child exiting.. In second child process Process ID:11615 Hey! there Second child aborted In parent process First child exited using exit(2) system call. Second child does not exited using exit(2) system call.
参考文献: https://docs.python.org/3/library/os.html#os.WIFEXITED
相关用法
- Python next()用法及代码示例
- Python os.dup()用法及代码示例
- Python set()用法及代码示例
- Python Decimal max()用法及代码示例
- Python PIL ImageOps.fit()用法及代码示例
- Python os.rmdir()用法及代码示例
- Python sympy.det()用法及代码示例
- Python Decimal min()用法及代码示例
- Python os.readlink()用法及代码示例
- Python os.writev()用法及代码示例
- Python os.readv()用法及代码示例
- Python PIL RankFilter()用法及代码示例
- Python os.rename()用法及代码示例
- Python os.sendfile()用法及代码示例
注:本文由纯净天空筛选整理自ihritik大神的英文原创作品 Python | os.WIFEXITED() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。