Я запускаю клавіатуру миші з оболонки:
mousepad &
[1] 24289
перевірте, звідки воно походить:
which mousepad
/usr/bin/mousepad
почніть його з шляху:
/usr/bin/mousepad &
дивитись через ps:
ps v -C mousepad
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
24289 pts/3 S 0:00 3 62 85441 10964 1.0 mousepad
24292 pts/3 S 0:00 0 62 85433 10864 1.0 /usr/bin/mousepad
Як ми бачимо, той, що викликається без шляху, відображається без шляху і починається з PATH, і тому його слід знайти
which mousepad
Так просто, чи не так? Зачекайте! Що робити, якщо запустити клавіатуру миші з меню? Ну, це може бути визначено з використанням параметрів PATH або без них. Я намагався. Нормальний старт призводить до простої клавіатури миші ps v -C
. Оскільки ~ / bin є першою частиною моєї PATH, я створюю там манекен, і, вуаля, манекен запускається з меню.
Але що робити, якщо запустити програму, яка видаляє себе? Яка не знайде видалену програму і повідомить про неправильну, якщо на шляху є друга.
Так що це умова гонки. Якщо ви знаєте, що ваші програми не видаляють себе або не переміщуються під час дослідження місця розташування, ps v -C NAME
і вони which NAME
повинні працювати досить добре.
ps -C xmms
має зробити ваш греп застарілим.