Quiero iniciar un programa con SSH usando PHP, que funciona bien, pero ahora quiero matar la pantalla con PHP, pero lo único que sé es el nombre de la pantalla. ¿Cómo encuentro la ID de la pantalla (automáticamente)?
ubuntu
ssh
gnu-screen
php
TheWaveLad
fuente
fuente
screen
oDISPLAY
?Respuestas:
Puede usar la variable de entorno
$STY
para determinar si está en una sesión de pantalla y también cuál es el nombre de la sesión que está dentro.Ejemplo
Inicialmente estamos sentados en una ventana de terminal, no dentro de una sesión de pantalla.
Gira una sesión de pantalla:
Conéctate a él:
Sesión de pantalla interior:
Matar una sesión
Con el nombre de la sesión puedes matarlo usando
screen
.También puede usar el número allí también.
Confirme que ha sido asesinado:
fuente
¿Te refieres al
screen
programa?screen -ls
enumerará los procesos de pantalla junto con su nombre de pantalla, precedido por el PID desde el que se ejecutan:Puedes usar eso para matar el proceso:
Alternativamente, si puede identificar el proceso php con ps, entonces su identificación principal se mostrará en la pantalla y puede eliminar eso.
pgrep -U <myusername> -f <name>
ayudará a encontrar el proceso de php que desea encontrar (tenga en cuenta el-f
que busca los argumentos del comando, así como el nombre del comando). Es posible que esté ejecutando más de un script php, por-f
lo que será un mejor mecanismo para que coincida con su proceso.<myusername>
sería su nombre de usuario,<name>
sería una cadena para que coincida con el proceso. Luego puede usarps -p <pid> -o ppid=
para obtener la identificación del proceso de pantalla y eliminar eso.fuente