如果在 middle2 上面跑 python3 fb_handler.py --update --page --max 10 --cpu 1 --site 89 --between 0 應該很快就會發現有 zombie process(我測試的情況)。
要重現這個問題可以這樣做:ssh into middle2 然後執行底下的 python code(可以用 python3 開 REPL 然後 copy paste 進去):
import os
from selenium import webdriveroptions = webdriver.ChromeOptions()
options.headless = True
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--no-sandbox")
executable_path = os.getenv("CHROMEDRIVER_BIN")
driver = webdriver.Chrome(executable_path=executable_path, options=options)
driver.quit()
結束後按 ^D 跳出 python,用 ps 查看 process list 應該就會看到 defunct chrome process(還有 cat)。我對 selenium 不太熟,但就我所知上面的 code 應該是正確的關閉邏輯 :thinking_face: 上面的 code 在 macOS 上跑是沒有問題。同樣的 code 在 changhua 和 tainan 都會產生 zombie process。
(用上面的方法測試完以後記得通知 middle2 admin 把 ssh 進去的 node release 掉。)