對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎?
🖥️ ADB Shell 的行為
每次執行 adb shell,其實是由電腦上的 adb client 透過 USB/TCP 與 Android 裝置上的 adbd daemon 建立一個新的連線。
在裝置端,adbd 會 fork 出一個新的子程序,並啟動一個 shell(通常是 /system/bin/sh 或 /system/bin/bash,視 ROM 而定)。
因此,每一個 adb shell 都對應到裝置上的一個獨立的 shell process。
📌 具體來說
如果你在同一台裝置上開兩個 adb shell,那麼裝置上會有兩個獨立的 shell process(例如兩個 /system/bin/sh)。
這些 process 彼此獨立,擁有各自的 stdin/stdout,雖然都透過同一個 adbd daemon 管理。
你可以在其中一個 shell 裡執行 ps -A | grep sh,就會看到多個 shell process。
⚡ 延伸思考
這也意味著:在不同的 adb shell 裡執行的命令,彼此之間不會共享環境變數或工作目錄,除非你刻意透過檔案或 IPC 機制來溝通。
不過,它們都跑在同一個使用者(通常是 shell user)底下,所以權限與資源限制是一樣的。
👉 簡單結論:是的,兩個 adb shell 在同一裝置上會對應到不同的 process。
| File2 | File | Last Modified |
|---|---|---|
| Android分析清理檔案 | Android分析清理檔案 | 1:22 AM - December 07, 2025 |
| Android | Android | 1:22 AM - December 07, 2025 |