Как определить полную команду с аргументами, заданными pid (или используемым портом)

276
justingordon

У меня есть хорошая функция bash, которая сообщает мне pid через порт:

using_port() { lsof -i:$ } 

Вывод выглядит так:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ruby 43988 gordon 9u IPv4 0xecaac2af83bf0aa7 0t0 TCP *:hbci (LISTEN) 

Есть ли способ легко получить полную команду, которая была запущена, включая путь и аргументы? Бонусные баллы за обновление примера функции выше.

1

1 ответ на вопрос

1
glenn jackman
command_using_port() { ps -p $(lsof -i:$1 -Fp | cut -c 2-) -o args --no-headers } 

Обратитесь к соответствующим страницам руководства для описания вариантов (это то, что я сделал!)

По какой-то причине, если у меня запущен сервер командной строки, я получаю только «rails» в качестве аргумента. Я хотел бы, чтобы все аргументы прошли. justingordon 10 лет назад 0

Похожие вопросы