您好,登錄后才能下訂單哦!
在 Linux 系統中,Python 提供了多種進程間通信(IPC)的方法
import os
# 創建一個管道
read_fd, write_fd = os.pipe()
pid = os.fork()
if pid == 0: # 子進程
os.close(read_fd) # 關閉讀取端
message = b"Hello from child process!"
os.write(write_fd, message)
os.close(write_fd)
else: # 父進程
os.close(write_fd) # 關閉寫入端
message = os.read(read_fd, 1024)
print("Received message:", message.decode())
os.close(read_fd)
import os
import sysv_ipc
# 創建一個消息隊列
key = 12345
msg_queue = sysv_ipc.MessageQueue(key, sysv_ipc.IPC_CREAT)
pid = os.fork()
if pid == 0: # 子進程
message = b"Hello from child process!"
msg_queue.send(message)
else: # 父進程
message, _ = msg_queue.receive()
print("Received message:", message.decode())
# 刪除消息隊列
msg_queue.remove()
import os
import sysv_ipc
# 創建一個共享內存區域
key = 12345
shm = sysv_ipc.SharedMemory(key, sysv_ipc.IPC_CREAT, size=1024)
pid = os.fork()
if pid == 0: # 子進程
message = b"Hello from child process!"
shm.write(message)
else: # 父進程
message = shm.read(len(message))
print("Received message:", message.decode())
# 刪除共享內存區域
shm.detach()
shm.remove()
這些示例展示了如何在 Linux 系統上使用 Python 進行進程間通信。請注意,這些示例僅適用于 Linux 系統,因為它們使用了特定于 Linux 的 IPC 機制。在其他操作系統上,您可能需要使用其他庫或方法來實現進程間通信。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。