在管道中获取进程的PID,可以使用以下方法:
os.pipe()
创建管道:import os
read_fd, write_fd = os.pipe()
os.fork()
创建子进程:pid = os.fork()
if pid == 0:
os.write(write_fd, str(os.getpid()).encode())
os.close(write_fd)
if pid > 0:
pid_str = os.read(read_fd, 10).decode()
os.close(read_fd)
print("子进程的PID是:", pid_str)
完整代码如下:
import os
read_fd, write_fd = os.pipe()
pid = os.fork()
if pid == 0:
os.write(write_fd, str(os.getpid()).encode())
os.close(write_fd)
else:
os.close(write_fd)
if pid > 0:
pid_str = os.read(read_fd, 10).decode()
os.close(read_fd)
print("子进程的PID是:", pid_str)
这个方法可以在管道中获取子进程的PID,而不需要使用第三方库或者依赖其他云计算平台。
领取专属 10元无门槛券
手把手带您无忧上云