Pidshell - Alternativa ao pidof, escrito em shell
Publicado por José Lucas (última atualização em 12/01/2022)
[ Hits: 1.214 ]
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
zsh: Validar IPv4 utilizando PCRE
Descompactar vários arquivos ao mesmo tempo de um diretório específico
syncnow - sincronizar diretórios com servidor local
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (4)
Inicializaçao lenta (alguns processos rodando) Debian 11 Bullseye [RES... (2)
Erro na atualização dos pacotes (6)