Pidshell - Alternativa ao pidof, escrito em shell
Publicado por nidobr (última atualização em 12/01/2022)
[ Hits: 1.500 ]
Homepage: https://github.com/NIDObr
Não sei o quão útil pode ser, mas achei interessante então vou compartilhar aqui :-)
Para usar só precisa passar o nome de um ou mais programas como parâmetro. Ex:
$ pidshell firefox
ou
$ pidshell firefox discord
Tem três modos de funcionamento:
1º Irá exibir apenas a lista de PIDs do processo passado como parâmetro (padrão).
2º Exibe só o primeiro PID encontrado.
3º Exibe também o nome, pode ser usado em conjunto com as duas acima.
#!/usr/bin/env bash
#------------------------------------------------------------------
# Autor: NidoBr
# Mais: < https://github.com/NIDObr >
# Email: coqecoisa@gmail.com
# Versão: 0.1-beta 04/01/2022
# Sobre: Alternativa ao pidof escrito em shell
# License: BSD-3-Clause License
#------------------------------------------------------------------
# Modo pid unico
single="false"
# Modo exibir nomes
e_names="false"
# Testa todos os argumentos passados
while [ -n "${1}" ];do
for cmdline in $(printf '%s\n' /proc/[0-9]*/cmdline);do
# Não exibe o script atual " $0 "
grep -q "${0}" "${cmdline}" 2>/dev/null && continue
grep -iq "${1}" "${cmdline}" 2>/dev/null
c_exit=$?
# Prepara a lista com os PIDs
[ $c_exit == 0 ] && {
l_pids="$(printf '%s' "${cmdline//[$'\/proc\/cmdline']}") ${l_pids}"
[ "${single}" == "true" ] && break
}
done
[ "${e_names}" == "true" ] && p_name="${1} "
[ -z "${l_pids}" ] || printf '%s\n' "${p_name}${l_pids}"
shift && l_pids=""
done
Instalador .tar.bz2 com menu gráfico Zenity
Obter ip a partir de um NO-IP ou DYNDNS e atualizar o endereço do MUNIN MESTRE em um nó linux.
Cluster multi-master com MariaDB 10.1 + Galera
Agenda de Contatos - Shell Script + MYSQL
Analisador de rede com aviso em net send
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
KDE Plasma 6.5: Como manter o Projetor fixo enquanto você alterna Áreas de Trabalho no PC
Aplicações mudam entre monitores após tela de bloquio (4)









