Да, можно убить процесс пользователя с помощью kill
. Вам нужно будет указать аргумент -9
, чтобы он отправлял сигнал SIGKILL
.
Пример: sudo kill -9 6415
Можно ли убить процесс другого пользователя с помощью sudo или мне нужно будет войти в систему как root?
Обратите внимание, что когда вы используете sudo
, вы фактически вызываете эту команду как root
.
awk
раствор:
awk '/^[0-9]+:abc /{
if (abc) print count abc;
sub(/^[0-9]+/, "");
abc = $0; count = 0; next
}
abc{ count++ }
END{ print count abc }' file
Выход:
2:abc vvvvv
3:abc kfjwej
2:abc kmflkm
Дополнительный (и последний )подход для вашего нового формата файла с использованиемawk
исходного -файла:
count_abc.awk
сценарий:
#!/bin/awk -f
/^abc::/{
if (abc) print count, abc;
gsub(/\\/, "", $2);
abc = $2; count = 0; next
}
abc { count++ }
END { print count, abc }
Использование:
awk -f count_abc.awk newfile
Выход:
2 vvnm/asj/pqr
3 kfjwej/asj/pqr
2 kmflkm/asj/pqr
Использование комбинации sed
, uniq
иawk
:
$ sed '/^[^[:space:]]/{s/^[^[:space:]]* //g;s#\\##g;h;}; g' file | uniq -c | awk '{ $1 -= 1; print }'
2 vvnm/asj/pqr
3 kfjwej/asj/pqr
0 flkm/csj/lqr
2 kmflkm/asj/pqr
Сценарий sed
, аннотированный:
/^[^[:space:]]/{ # this line starts with a non-space
s/^[^[:space:]]* //; # remove the thing that is not a space, up to the space
s#\\##g; # remove backslashes
h; # store in hold space
};
g; # get hold space
# (implicit print)
Это заменяет каждую «подстроку -заголовка» соответствующей «строкой заголовка», создавая
vvnm/asj/pqr
vvnm/asj/pqr
vvnm/asj/pqr
kfjwej/asj/pqr
kfjwej/asj/pqr
kfjwej/asj/pqr
kfjwej/asj/pqr
flkm/csj/lqr
kmflkm/asj/pqr
kmflkm/asj/pqr
kmflkm/asj/pqr
Затем мы позволяем uniq
подсчитать количество последовательных уникальных строк, генерируя
3 vvnm/asj/pqr
4 kfjwej/asj/pqr
1 flkm/csj/lqr
3 kmflkm/asj/pqr
С помощью awk
мы просто уменьшаем число в первом поле этого.