pskiller
Publicado por José Lopes 06/09/2006
[ Hits: 6.305 ]
Homepage: https://lopes.id
Este script recebe o nome de um processo e, opcionalmente, um sinal do sistema e mata todos os processos em execução que obedecerem ao nome passado. Além disso ele pode receber uma lista de processos para matar, também com sinal de término. Ex: ./pskiller nets #Mata tudo com NETS, como NETScape; ./pskiller -9 emacs #Mata tudo com EMACS com sinal -9; ./pskiller net ema #Mata tudo com NET e EMA; ./pskiller -9 konque firefox #Mata tudo com KONQUE e FIREFOX com sinal -9
#!/bin/bash # NAME ........: pskiller # AUTHOR ......: José Lopes de Oliveira Júnior # DESCRIPTION .: # Kills a process by a name. But it accepts non complete names, like # netsc for NETSCape, or mac for eMACs. It also accepts the signal to kill # the processes. A list of process can be eigther passed to the script, even # combined with a process signal for all processes, like in the examples: # $ pskiller ema fire soffice kick # $ pskiller -9 xmm # WARNING : Be sure to put on the processes' list, not ambigous names, like # kde, for example, because it'll kill all processes that have this pattern on # their names (all process that have in their names, the kde pattern, for # example). # OBSERVATION .: Give it 700 permition for a single user, or 755 for more users. SIG="-SIGTERM" # Default signal # Verifying the parameters if [ "$#" -lt 1 ]; then echo "Usage: pskiller [-SIGNAL] pattern" return fi # The signal was defined by the user? if [ "$#" -gt 1 ]; then # If the 1st parameter begins with '-', then it's a signal. case "$1" in # Redefine the signal and remove it from the parameters' vector -* ) SIG=$1 shift ;; esac fi # Processes PID & NAME and a control variable PID="" PNAME="" CONTROL="NO" # Evaluates all parameters for PNAME in "$@"; do for PID in `ps x --format pid,comm | \ sed -n "s/^ *\([0-9][0-9]*\) [^ ]*$PNAME.*/\1/p"`; do CONTROL="YES" # The informed process exists echo -e "Trying to kill process $PNAME ($PID) with signal $SIG... \c" kill $SIG $PID > /dev/null # Kill and don't show any messages echo "done." done # The informed process does not exists if [ $CONTROL = "NO" ]; then echo "Process $PNAME not found." fi # Restarting the control variable CONTROL="NO" done # EOF
ARSPDF - Programa para manipular arquivos PDF
Monitorar pppe-server, radius e proxy (estilo fastfood)
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









