» Poradna » Programy

Objasnění kódu v Pythonu 3

 |   |  Macintosh OS X Chrome 119.0.0.0

Ahoj, v souboru main.py mám tohlehttps://www.online-python.com/RYyNThB3o0když spustím v terminále python3 main.py a v jinem terminále spustím nástroj top, tak vidím, že mi běží 4 procesy Python, proč čtyří, mají běžet tři, ne? Objasní mi to někdo? Díky

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 119.0.0.0

Main, a, b, Python ???

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Unknown Mozilla 120.0

Jestli si to spravne pamatuju (muze se plast a nechce se mi to hledat), tak multiprocessing v tomto ptipade startuje jeste specialni "manager" proces, ktery udrzuje prehled o tech ostatnich.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 120.0

Tezko rict, mne to zadny specialni proces nestartuje, zkusil jsem ted na Windows 10 s Python 3.10.11, Raspberrypi OS (Raspbian 11) s Python 3.9.2 a Kubuntu s Python 3.10.12 a vsude bezi ocekavane 3 procesy. Bavime se tedy o standardnim spusteni skriptu python3 main.py ne o nejakem debugovani a podobne, kde to muze byt jinak. Moc nejsem v Pythonu kovany, takze netusim, proc tazateli bezi 4 procesy, ale standardni to dle meho neni. Treba je to nejaka specialita Macu? To nedokazi posoudit.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 120.0

Taktez, na Windows jsou jen tri procesy.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 119.0.0.0

Spustím main.py == jeden proces v topspustím 1 proces, +2 procesy v topspustím 2 procesy, + 3 procesy topspustím 3 procesy, + 4 procesy topvždy o jeden víc. Nemohl by to být proces nějakého vlákna?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Android AppleMAC-Safari 5.0

Co je to „proces vlákna“? (Něco jako dveře pantu nebo motor pístu?)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 120.0

A kolik procesu Python ti bezi, kdyz ten program neni spusteny? Jeden nebo zadny?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 120.0

Matěj | 29. 11. 2023 21:56 Spustím main.py == jeden proces v topspustím 1 proces, +2 procesy v top...Z toho bych usuzoval, ze kdyz neni spusteny, tak nebezi zadny, ocividne prvni podproces si spusti neco navic, ale co a proc a proc se to tak chova jen u Mateje (nebo jen na Macu nebo jen za urcite konstelace hvezd)?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 119.0.0.0

Neběží žádný

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 119.0.0.0

masOS 13.6.1 IntelPython 3.12.04 procesy

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 119.0.0.0

macOS*

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Macintosh OS X Chrome 119.0.0.0

Myslím si, že jeden proces bude samotné prostředí Pythonu a 3 procesy budou ten spuštěný kód. Ale nejsem expert na Python. Je to odhad.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 120.0

Situace je pomerne zoufala, otevrel jsem dokumentaci https://docs.python.org/3.12/library/multiprocess... Ten proces navic by daval smysl, kdyby se jako metoda vytvareni procesu pouzival forkserver. Jenze na Macu, stejne jako na Windows ma byt vychozi metoda spawn (a na linuxu klasicky fork). Mozna je na Macu forkserver a neni to v dokumentaci opraveno nebo je spawn na Macu resen pres nejaky pomocny proces? Netusim. Treba pujde kolem nekdo kovanejsi nebo s tim dotazem muze Matej vyrazit treba na StackOverflow, tam bude mit vetsi sance, ze potka nekoho v tomto ohledu zkuseneho.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 119.0.0.0

On POSIX using the spawn or forkserver start methods will also start a resource tracker process which tracks the unlinked named system resources (such as named semaphores or SharedMemory objects) created by processes of the program. When all processes have exited the resource tracker unlinks any remaining tracked object.Kdyz uz jsme u te dokumentace.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 120.0

Diky, to jsem tam docela prehlednul. Tak nyni je to jasne.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Objasnění