Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Небольшой скрипт на BASH  (Прочитано 541 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ivan-ch

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Интернет-магазин EvE-Market.ru игры EvE Online
Небольшой скрипт на BASH
« : 25 Ноябрь 2016, 20:52:01 »
Здравствуйте уважаемые! Только начинаю осваивать линукс поэтому прошу помощи в написании скрипта.
Задача- Вывод команты pgrep -lf vmware-vmx имеет список из нескольких pid
Нужно каждый их этих pid выполнить в команде Ls -l /proc/$PID/cwd чтобы на выходе получить что-то наподобие таблицы pid- путь откуда запущен процесс vmware-vmx

пс: ну и опционально, если будет желание вот бы еще к этому скрипту приделать запрос какой pid убить- например ввел цифру 1 и первый в списке pid убит командой kill

Онлайн bezbo

  • Активист
  • *
  • Сообщений: 639
    • Просмотр профиля
Re: Небольшой скрипт на BASH
« Ответ #1 : 25 Ноябрь 2016, 22:01:00 »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5665
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Небольшой скрипт на BASH
« Ответ #2 : 25 Ноябрь 2016, 22:39:07 »
Код: Bash
  1. mapfile -t < <(
  2.     pgrep vmware-vmx |
  3.     sed 's|.*|/proc/&/cwd|' |
  4.     tr \\n \\0 |
  5.     xargs -0 ls -l
  6.     )
  7. select p in "${MAPFILE[@]}" ; do
  8.     case x$p in
  9.         x) echo Wrong number ;;
  10.         *) p=${p#*proc/}
  11.            kill ${p%%/*}
  12.            break ;;
  13.     esac
  14. done
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ivan-ch

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Интернет-магазин EvE-Market.ru игры EvE Online
Re: Небольшой скрипт на BASH
« Ответ #3 : 26 Ноябрь 2016, 05:46:55 »
 :D Много и сильно спасибо Azure что помогли! Этот скрипт был нужен ну вот прямо сейчас, а не через неделю когда я сам бы дорос до его написания.

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.