LINUX.ORG.RU

Удаление нескольких семафоров одной командой?


0

1

из-за некоректного завершения одной из программ постоянно копятся семафоры, которые приходится удалять вручную

ipcrm -s 6553720

учитывая количество расплодившихся семафоров, удаление их по одному напоминает мартышкин труд, так что хотелось бы услышать совет по удалению всех семафоров одной командой

гугль ничего внятного по этому поводу не говорит

Зачем? Поставьте в крон или на старт/стоповый скрипт этой программы скрипт типа:

ipcs | grep $owner (ну или что-там еще) | awk '{ print $2 }' | xargs ipcrm -s

Valmont ★★★
()
Ответ на: комментарий от Valmont

программа сама не удаляет и запуститься не может из-за этого

ваш вариант не работает

[denis@v34221 ~]$ ipcs | grep denis | awk '{ print $2 }' | xargs ipcrm -s
ipcrm: already removed id (491520)
ipcrm: unknown argument: 524289
usage: ipcrm [ [-q msqid] [-m shmid] [-s semid]
          [-Q msgkey] [-M shmkey] [-S semkey] ... ]

по ходу сразу несколько id передаётся

BIOHAZARD
() автор топика
Ответ на: комментарий от BIOHAZARD

В xargs там просто с аргументами нужно аккуратней. А for - да, попроще будет.

Valmont ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.