На самом деле мне очень нравится ответ Боба.
Я использую следующие сигналы::
-1
(-HUP
)-перезапустить процесс -2
(-INT
)-завершить процесс -9
(-KILL
)-позволить ядру завершить процесс -11
(-SEGV
)-Произошел сбой программы -15
(-TERM
)-по умолчанию, попросите программу завершить работу. Будет отправлено убийство без сигнала-15
(-TERM
).
Все вышеуказанные имена сигналов могут быть указаны с префиксом SIG
(, например. -SIGKILL
), это, однако, не является обязательным.
Обратите внимание, kill -11
заставит программу завершить работу с ошибкой сегментации, я использую ее иногда, когда kill -9
не завершает процесс. (Вы можете потерять данные, если вы выполните kill -9
или kill -11
для процесса, так что будьте осторожны!)
Вы используете ps -ef | grep
для проверки процесса. Чтобы избавиться от процесса (, который имеет родительский PID 1 ), вы должны kill -HUP 1
илиkill -1 1
(как root ). Обратите внимание, что PID 1 — это ваша система инициализации .
Итак, чтобы завершить процесс, введитеkill
(то же самое, что и kill -15
), если это не удастся, я попробую эти другие (, вы можете потерять данные! ),kill -2
(похоже на выполнение Ctrl+c
), если это не удается kill -9
, если это не удается kill -11
, если это не удается, процесс, скорее всего, является зомби-процессом,убедитесь, что это так, используя ps -ef | grep
или ps -ef | grep
, после процесса должно быть указано «несуществующий». Это когда вы выдаете kill -1 1
.
Некоторые программы, такие как Java JVM, могут быть настроены на создание дампа потоков/кучи (для устранения неполадок )при получении сигнала, в этих случаях я также использую kill...
Это довольно легко сделать с помощью различных инструментов. Основываясь на вашем вводе, вы просто хотите заменить все ,
на \n
. Таким образом, самым коротким (и, вероятно, самым быстрым )подходом будетtr
:
$ tr ',' '\n' < file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
Хотя при этом остаются лишние пробелы.
Вawk
(GNUawk
)вы можете сделать:
$ awk '{gsub(", ","\n");}1' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
В GNUsed
:
$ sed 's/, /\n/g' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
В Perl:
$ perl -pe 's/, /\n/g' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
Выполнено с помощью Python:
#!/usr/bin/python
import re
k=open('p.txt','r')
for i in k:
print re.sub(",","\n",i).strip().replace(" ","")
выход
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
Вы намерены найти awk
решение? Это довольно легко сделать в sed
например:
$ cat foo
elephant
kangaroo, snake, zebra
baboon
parrot, eagle, owl
$ sed -e 's/, */\
/g' < foo
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl