[ TAG 153 ][21.09.2021] -Erfolgreich -IAP-20210601-20210722-1145
Ich beginne die Worksession um [21.09.2021][0700]. Bei der heutigen Worksession geht es um die Prozessausführung.
Bevor ich mit der Arbeit beginne, muss ich in die DOKU einarbeiten.
- Quelle[21.09.2021][0700]
[21.09.2021][0900] - Ich habe mir die Quelle[21.09.2021][0700] durchgelesen. Wichtig finde ich den Abschnitt Reference.
- Reference
- Wichtige Methoden
- multiprocessing.Process(group=None, target=None, name=None, args=(),kwargs={},*,daemon=None)
- start()
- name
- is_alive()
- join()
- pid
- terminate()
- kill()
- close()
Das sind die erarbeiteten Methoden, die für mich relevant sind.
def START_PROCESS(alog_glb):
p_itm = None
print("")
print("")
print("PROCESS_ALOG_20210726_0110 - START_PROCESS()")
APL_INIT(alog_glb)
print("")
print("")
p = Process(target=ALOG, args=(alog_glb.APL))
p_itm = {p, p.name, p.pid, os.getpid(), p.authkey}
print(f"s0 - p_itm: {p_itm}")
print(f"s0 - p.is_alive(): {p.is_alive()}")
print("")
p.start()
p_itm = {p, p.name, p.pid, os.getpid(), p.authkey}
print(f"s1 - p_itm: {p_itm}")
print(f"s1 - p.is_alive(): {p.is_alive()}")
print("")
p.join()
p_itm = {p, p.name, p.pid, os.getpid(), p.authkey}
print(f"s2 - p_itm: {p_itm}")
print(f"s2 - p.is_alive(): {p.is_alive()}")
print("")
print("")
print("")
p_itm = {p, p.name, p.pid, p.authkey}
alog_glb.RPRCSL.append(p_itm)
print(f"alog_glb.RPRCSL: {alog_glb.RPRCSL}")
#APL_ITM_ADD(alog_glb.APL, os.getpid())
Bericht[21.09.2021][1100]:
PROCESS_ALOG_20210726_0110 - START_PROCESS()
PROCESS_ALOG_20210726_0110 - APL_INIT(alog_glb)
----------------------------------------------------------------------------------------------------------------
Python-Code: [ p = Process(target=ALOG, args=(alog_glb.APL)) ]
Python-Ausgabe:
s0 - p_itm: {
os.getpid(): 8480,
p.pid: None,
p.authkey: b'\xd0\x9e\xa6\x84QGf\x0f\xdfT\xd9\x17\n\n\xaep\x04\xaa[\x82Ny\xb8G><\xc3b\x9c/\x92\xba',
p.name: 'Process-2',
p: <Process name='Process-2' parent=8480 initial>
}
s0 - p.is_alive(): False
----------------------------------------------------------------------------------------------------------------
Python-Code: [ p.start() ]
Python-Ausgabe:
s1 - p_itm: {
os.getpid() 8480,
p.pid: 12140,
p.authkey: b'\xd0\x9e\xa6\x84QGf\x0f\xdfT\xd9\x17\n\n\xaep\x04\xaa[\x82Ny\xb8G><\xc3b\x9c/\x92\xba',
p.name: 'Process-2',
p: <Process name='Process-2' pid=12140 parent=8480 started>
}
s1 - p.is_alive(): True
----------------------------------------------------------------------------------------------------------------
ALOG_20210722.GLOBALS_20210720_1330 - GLOBALS_20210720_1330
name:MKI_20210819.MKI_MAIN_20210819 MKI_MAIN_20210819
----------------------------------------------------------------------------------------------------------------
Python-Code: [ p.join() ]
Python-Ausgabe:
s2 - p_itm: {
os.getpid(): 8480,
p.pid: 12140,
p.authkey: b'\xd0\x9e\xa6\x84QGf\x0f\xdfT\xd9\x17\n\n\xaep\x04\xaa[\x82Ny\xb8G><\xc3b\x9c/\x92\xba',
p.name: 'Process-2',
p: <Process name='Process-2' pid=12140 parent=8480 stopped exitcode=0>
}
s2 - p.is_alive(): False
----------------------------------------------------------------------------------------------------------------
Schlussfolgerung[21.09.2021][1102]:
Es war der erste Entwurf der gespeicherten Daten. Der nächste Schritt wäre die Benennung der Elemente im Dictionary.
Entwurf[21.09.2021][1115]:
Hier habe die Benennung der Indexe vorgenommen. Die müsste ich noch in einen neuen Blog-Beitrag bzw. Bericht fest definieren.
Zu dem habe ich eine neue Liste im [GLOBAL-20210720]-Modul entworfen.
Sinn und Zweck ist es die Instanzen in einer Liste zu führen.
Aus dieser Liste kann der Prozess-Status über Interfaces leichter nachvollzogen werden.
Name der Liste: [RPRCSL]
Codierung: [Reference][PRoCesS][List]
def START_PROCESS(alog_glb):
p_itm = None
print("")
print("")
print("PROCESS_ALOG_20210726_0110 - START_PROCESS()")
APL_INIT(alog_glb)
print("")
print("")
p = Process(target=ALOG, args=(alog_glb.APL))
p_itm = {"inst": p, "name": p.name, "pid": p.pid, "ppid": os.getpid(), "authkey": p.authkey}
print(f"s0 - p_itm: {p_itm}")
print(f"s0 - p.is_alive(): {p.is_alive()}")
print("")
p.start()
p_itm = {"inst": p, "name": p.name, "pid": p.pid, "ppid": os.getpid(), "authkey": p.authkey}
print(f"s1 - p_itm: {p_itm}")
print(f"s1 - p.is_alive(): {p.is_alive()}")
print("")
p.join()
p_itm = {"inst": p, "name": p.name, "pid": p.pid, "ppid": os.getpid(), "authkey": p.authkey}
print(f"s2 - p_itm: {p_itm}")
print(f"s2 - p.is_alive(): {p.is_alive()}")
print("")
print("")
print("")
p_itm = {p, p.name, p.pid, p.authkey}
alog_glb.RPRCSL.append(p_itm)
print(f"alog_glb.RPRCSL: {alog_glb.RPRCSL}")
#APL_ITM_ADD(alog_glb.APL, os.getpid())
Ich werde an diesen Punkt die Worksession beenden. Der nächste Schritt besteht in der Ausführung des Prozesses. In Prozess muss Verbindung zum SHM-Modul hergestellt werden. Zudem muss die Verwaltung der Prozesse verbessert werden.
Hochachtungsvoll
Artem Kraft
Kommentare
Kommentar veröffentlichen