pskiller
Publicado por José Lopes 06/09/2006
[ Hits: 6.411 ]
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
Dicas e explicações de comandos do Linux - rápidos e reeditáveis
cliente do need for speed underground
Instalar e remover o Microsoft Visual Studio Code
Gunzipar arquivos com determinadas extensões
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)
O que houve com slackware ??? (12)









