Pular para o conteúdo

Pidshell - Alternativa ao pidof, escrito em shell

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.
nidobr NidoBr
Hits: 1.575 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download pidshell Enviar nova versão

Esconder código-fonte

#!/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

instalado automatico do nagio 3.3.1 no debian 6

Limpeza de cache do Squid

Script de backup

Firewall - Satefull inspection com NAT

Status do Serviço Firebird

#2 Comentário enviado por maurixnovatrento em 25/01/2022 - 22:07h

Opa, muito bom.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10
#3 Comentário enviado por NidoBr em 25/01/2022 - 22:30h

[2] Comentário enviado por mauricio123 em 25/01/2022 - 22:07h


Opa, muito bom.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

Obrigado!

Contribuir com comentário

Entre na sua conta para comentar.