
Recherche avancée
Autres articles (75)
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)
Sur d’autres sites (8195)
-
vulkan_decode : use the correct queue family for decoding ops
14 août 2024, par Lynne -
dnn/queue : add error check and cleanup
30 décembre 2020, par Guo, Yejun -
Can I create a proccess to kill blocked processes in a queue with Python ?
15 mars 2017, par user3182473I would like to create a process, which kills blocked processes in a queue. These processes are actually ’ffmpeg’ command in my work, which are unstable and blocked occasionally.
For simplicity I use ’echo’ instead of ’ffmpeg’ as example here. I found that the alive process become ’finished’ from the queue, and the subprocess returncode is 0. Why ?
And can anyone tell how I can modify my code with python2.7 to fit this requirement ? Any suggestion would be appreciated.
import subprocess
import os
import multiprocessing
import time
cmds = ['echo "a" &sleep 10','echo "b"']
queue = multiprocessing.Queue(maxsize=3)
class ProcessKiller(multiprocessing.Process):
def __init__(self,queue):
multiprocessing.Process.__init__(self)
self.queue = queue
def run(self):
while True:
try:
proc = self.queue.get(block=False)
print 'bbbbb',proc.poll(),proc.pid #WHY HERE THE RETURNCODE=0?
if proc.poll() is None:
print 'tokill'
time.sleep(5)
if proc.poll() is None:
os.killpg(os.getpgid(proc.pid),signal,SIGTERM)
print 'killed'
except Exception as e:
time.sleep(0.5)
pk = ProcessKiller(queue)
pk.start()
for item in cmds:
cmd = subprocess.Popen(item,preexec_fn=os.setsid,shell=True)
print 'aaaaa',cmd.poll(), cmd.pid
queue.put(cmd,block=False)
time.sleep(3)
print 'cccc',cmd.poll()
time.sleep(10)
print 'dddd', cmd.poll()
cmd.communicate()
print 'finished'The result from this script :
aaaaa None 120748
a
bbbbb 0 120748
cccc None
dddd 0
finished
aaaaa None 120755
b
bbbbb 0 120755
cccc 0
dddd 0
finishedUPDATE : Now I use a while loop to monitor the status of the subprocess. It works. However, I am still curious why the status of the process changes from the queue.