Programa de reinicio programado en Ubuntu


prefacio

  En el proyecto, Frp se usa para penetrar en la intranet, pero debido a la posibilidad de fluctuaciones en la red, que también pueden causar la interrupción de Frp, quiero evitar esta situación reiniciando el programa frp regularmente, de la siguiente manera:


1. Instalación de dependencia

Las dependencias de python requeridas aquí son relativamente pocas, solo necesita instalar el programa (este paquete es muy pequeño y se instalará rápidamente sin duplicar), esto se usa para tareas programadas, directamente en el entorno de python en ejecución. Ejecute el siguiente comando :

pip install schedule

2. Reiniciar la tarea

En esta parte, publicaremos el código. La lógica general es detectar la identificación del programa que queremos reiniciar primero, luego eliminarlo y reiniciarlo. El código es el siguiente:

import os,sys,schedule
import subprocess,time
def restart_frp():
    child =subprocess.Popen(["pgrep","-f","xxx"],stdout=subprocess.PIPE,)
    pid=child.stdout.read().decode("utf-8").strip()
    #print(pid)
    if pid!="":
        os.system("kill -9 "+pid)
    child2=subprocess.Popen("xxx",stdout=subprocess.PIPE,shell=True)
    print(time.strftime("%Y-%m-%d %H:%M",time.localtime()))
if __name__ == '__main__':
    restart_frp()
    schedule.every().hour.do(restart_frp)
    while True:
        schedule.run_pending()

Donde xxx es el nombre del programa que desea operar

3. Registros de errores

Si encuentra el siguiente error durante la operación: inserte la descripción de la imagen aquí
realice las siguientes operaciones:
Paso 1, ejecute el comando

ls -l /bin/sh

Si el resultado que se muestra es: /bin/sh -> guión, ejecute el segundo paso:

sudo  dpkg-reconfigure dash (出现窗口选择no)

El tercer paso es ejecutar el comando nuevamente:

ls -l /bin/sh

Después de que se muestre como /bin/sh -> bash, simplemente ejecute el programa nuevamente

Enlace de referencia: resolución de errores


Resumir

Lo anterior es todo el contenido de este artículo, si hay algún problema, corríjame.

Supongo que te gusta

Origin blog.csdn.net/qq_55068938/article/details/126760559
Recomendado
Clasificación