2016-04-06 1 views
0

Une question similaire est déjà posée here, mais ma question est très spécifique: Je n'ai pas de PID, mais un fichier PID . Existe-t-il une façon plus simple de faire cela que lire le fichier moi-même? De préférence sans module supplémentaire à installer.Python: Envoyer le signal à traiter via le fichier PID

Pour éviter un problème XY, ce que je veux vraiment faire est d'émettre ceci en Python: pkill -HUP rsyslogd. Je demande parce que j'ai pensé à os.kill(pid_file, signal.SIGHUP), mais s'il y a une idée différente pour faire ce que je veux, c'est plus que bienvenue.

Répondre

1

Le fichier PID ne contient que le PID? Cela devrait fonctionner:

pid = int(open(PID_FILE).read()) 
+0

Merci, que je sais. Je voulais voir s'il y avait un meilleur moyen (en d'autres termes, une fonction intégrée qui gère cela et qui s'occupe de tout ce qui peut mal tourner lors d'une opération de fichier, en manipulant éventuellement des tentatives, par exemple scénario). Ce que vous avez écrit échouera si l'opération du fichier échoue et que vous devez gérer vous-même les tentatives. – OmarOthman