Gnome

檢查 Nautilus 文件管理器是否正在執行的最佳方法?

  • October 16, 2019

我一直在努力解決這個問題。當 nautilus 文件管理器未執行時,nautilus 正在執行,因為它控制桌面上的圖示。

$ ps -aux | grep nautilus | grep -v grep
rick      5613  0.2  1.7 2355392 140012 pts/19 Sl+  19:04   0:08 nautilus

所以在沒有打開 nautilus 文件管理器的情況下使用這個命令,你會看到:

$ ps -L -p 5613 -o pid,nice,lwp,comm
 PID  NI   LWP COMMAND
5613   0  5613 nautilus
5613   0  5614 gmain
5613   0  5615 gdbus
5613   0  5617 dconf worker

現在打開 nautilus 文件管理器並重做ps命令:

$ nautilus

$ ps -L -p 5613 -o pid,nice,lwp,comm
 PID  NI   LWP COMMAND
5613   0  5613 nautilus
5613   0  5614 gmain
5613   0  5615 gdbus
5613   0  5617 dconf worker
5613   0  4788 pool

關閉 nautilus 文件視窗並重新執行命令(等待一兩秒後),池就會消失。

這是查看 nautilus 文件管理器是否正在執行的正確方法嗎?

我已將上述技術整合到Ask Ubuntu中的答案中,如果可能的話我想改進:

檢查是否有任何 Nautilus 視窗打開的最佳方法是在會話 D-Bus 上檢查它們:

gdbus introspect --session --dest org.gnome.Nautilus \
     --object-path /org/gnome/Nautilus --recurse | awk '/^ *node /{print $2}'

/org/gnome/Nautilus/window如果有任何打開的視窗,這將顯示視窗條目;所以

gdbus introspect --session --dest org.gnome.Nautilus \
     --object-path /org/gnome/Nautilus --recurse |
grep -q '^ *node /org/gnome/Nautilus/window/'

如果有任何打開的視窗將成功,否則失敗。

引用自:https://unix.stackexchange.com/questions/546241