Json-Rpc

比特幣的 python 測試腳本中的 os.getpid() - 它實際上做了什麼?

  • April 15, 2015

我正在查看../qa/rpc-tests/util.py以弄清楚如何將任意埠分配給每個創建的節點。在程式碼的第一行它說:


def p2p_port(n):
返回 11000 + n + os.getpid()%999

所以我想知道 os.getpid()%999 到底是做什麼的?它會立即尋找自由港嗎?

提前致謝!

os.getpid()在 Python 中獲取目前程序 id。處理器 id 是“隨機的”,因為多次執行整個測試會產生不同的 pid,但在同一個測試中,pid 將保持不變。

%運算符是取模運算符,它實際上將除處理器 ID 的最後 3 位數字之外的所有數字都去掉。

Togetheros.getpid() % 999得到一個恆定的偏移量並忽略除最後 3 位之外的所有數字。這個新的 3 位數字添加到常量 11000 以返回要使用的埠號。

引用自:https://bitcoin.stackexchange.com/questions/36928