Language / Idioma: English | Español
Herramienta de terminal para buscar, ver y finalizar procesos rápidamente, con la misma sintaxis en Linux y Windows. Sin dependencias externas: solo herramientas nativas del sistema.
|
|
| Comando | Descripción |
|---|---|
psc |
Mostrar el banner informativo |
psc -a, psc --all |
Listar todos los procesos |
psc -n <nombre> |
Buscar por nombre (fragmento o regex) |
psc -pid <pid> |
Buscar por PID |
psc -p <puerto> |
Buscar por puerto |
psc -ip <ip> |
Buscar por dirección IP |
psc -n X -p Y |
Filtros combinados (AND) |
psc -k <spec> |
Finalizar por índice: N, 1,3,5, 1-4 o all |
psc -k <spec> -f |
Finalizar sin confirmación |
psc -k <spec> -s <sig> |
Señal personalizada (Linux: SIGINT/15; Windows: cierre graceful vs forzado) |
psc -i |
TUI interactiva (flechas, K/Delete para matar, q para salir) |
psc -w [N], psc --watch [N] |
Refresco en vivo cada N segundos (por defecto 2) |
psc -t, psc --tree |
Árbol de procesos (jerarquía PID/PPID) |
psc --info <n> |
Detalles profundos del resultado #n |
psc --json / psc --csv |
Salida estructurada |
psc -q |
Modo silencioso: solo PIDs coincidentes |
psc --uninstall |
Desinstalar psc y limpiar remanentes |
psc --uninstall -f |
Desinstalar sin confirmación |
psc --help |
Mostrar ayuda |
Sin argumentos, psc muestra un banner ASCII con versión, desarrollador, fecha de release y tips rápidos. Los listados incluyen: índice, PID, nombre, usuario, %CPU, MEM, puerto(s), IP(s) y estado.
Los filtros (-n, -pid, -p, -ip) se pueden encadenar con lógica AND. -q, --json y --csv son mutuamente excluyentes.
Instalar desde el repositorio (clone)
- Clona el repositorio y entra en él:
git clone https://github.com/ramarak/psc.git
cd psc- Ejecuta el instalador (instala en
~/.local/bin/psc):
chmod +x install.sh linux/psc.sh
./install.shPara instalación de sistema (/usr/local/bin/psc):
./install.sh --system- Si el instalador avisa de que
~/.local/binno está en tuPATH, añádelo a~/.bashrco~/.zshrcy recarga la shell:
export PATH="$HOME/.local/bin:$PATH"
source ~/.bashrc- Verifica:
psc --help
psc -n bash- Clona el repositorio y entra en él (PowerShell o CMD):
git clone https://github.com/ramarak/psc.git
cd psc- Ejecuta el instalador (copia a
%LOCALAPPDATA%\pscy añade esa carpeta al PATH del usuario):
powershell -ExecutionPolicy Bypass -File .\install.ps1-
Cierra y abre una terminal nueva para que el PATH actualizado aplique en todas partes.
-
Verifica:
psc --help
psc -n powershellInstalar desde Releases
En la página de Releases del repositorio encontrarás assets por plataforma (por ejemplo psc-linux.zip y psc-windows.zip).
- Descarga el asset de Linux (p. ej.
psc-linux.zip) desde Releases. - Extráelo:
unzip psc-linux.zip -d psc-linux
cd psc-linuxContenido esperado: psc.sh (o linux/psc.sh, según el empaquetado).
- Instálalo en tu PATH:
# Copia manual
mkdir -p ~/.local/bin
cp psc.sh ~/.local/bin/psc
# o, si está en una subcarpeta:
# cp linux/psc.sh ~/.local/bin/psc
chmod +x ~/.local/bin/psc- Asegúrate de que
~/.local/binesté en tuPATH(igual que en la instalación por clone) y verifica:
psc --help- Descarga el asset de Windows (p. ej.
psc-windows.zip) desde Releases. - Extráelo a una carpeta temporal.
- Copia
psc.ps1ypsc.cmda una carpeta permanente, por ejemplo:
$dest = Join-Path $env:LOCALAPPDATA 'psc'
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Copy-Item .\psc.ps1, .\psc.cmd -Destination $dest -Force
# Si están bajo windows\:
# Copy-Item .\windows\psc.ps1, .\windows\psc.cmd -Destination $dest -Force- Añade esa carpeta al PATH del usuario:
$dest = Join-Path $env:LOCALAPPDATA 'psc'
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
if (($userPath -split ';') -notcontains $dest) {
[Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User')
}- Abre una terminal nueva y verifica:
psc --helpSi la release incluye install.ps1, puedes ejecutarlo tras extraer el zip completo del repo.
-k finaliza un proceso por el índice de la última búsqueda (no por PID directo).
psc -n node # listar coincidencias y guardar el resultado
psc -k 2 # pedir confirmación y matar #2
psc -k 2 -f # matar #2 sin preguntar
psc -k 1,3,5 -f # matar varios índices
psc -k 1-4 -f # matar un rango
psc -k all -f # matar todos los resultados de la última búsqueda
psc -k 1 -s SIGINT # Linux: enviar SIGINT; Windows: cierre gracefulSi no hay búsqueda previa (archivo temporal ausente o vacío), -k falla y pide ejecutar psc -a (o un filtro) primero.
psc -n node -i # TUI: flechas + K/Delete para matar, q para salir
psc -n node -w 2 # refrescar la lista filtrada cada 2s
psc -a -t # árbol completo de procesos
psc -n node --info 1 # ruta del ejecutable, cmdline, archivos/socketspsc -n nginx --json
psc -a --csv
psc -n nginx -q | xargs echopsc --uninstall # pide confirmación
psc --uninstall -f # sin confirmaciónElimina los binarios/scripts instalados, limpia la caché de la última búsqueda y, en Windows, también quita la carpeta de instalación del PATH del usuario.
Runners autónomos (sin Pester/bats). Crean fixtures de corta duración y ejercitan la CLI.
powershell -ExecutionPolicy Bypass -File .\tests\windows\run-tests.ps1bash ./tests/linux/run-tests.shDesde Windows con WSL:
wsl -e bash ./tests/linux/run-tests.sh- Linux:
bash,ps, yssonetstat;killpara terminar procesos. Opcional:lsofpara un--infomás completo. - Windows: PowerShell 5+;
Get-Process;netstat(oGet-NetTCPConnection);Stop-Process. - Sin dependencias externas ni gestores de paquetes adicionales.
psc/
├── README.md
├── README.es.md
├── install.sh # Instalador Linux
├── install.ps1 # Instalador Windows
├── linux/
│ └── psc.sh
├── windows/
│ ├── psc.ps1
│ └── psc.cmd # wrapper para que `psc` funcione en CMD/PowerShell
└── tests/
├── helpers/ # generadores de fixtures
├── linux/run-tests.sh
└── windows/run-tests.ps1Las carpetas linux/ y windows/ están pensadas para empaquetar cada release.
Este proyecto está bajo la licencia MIT.

