os.execl ()

os.execl ( path, arg0, arg1, ... )

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ сСмСйства os.exec* () Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, замСняя Π΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс; ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π’ Unix Π½ΠΎΠ²Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» загруТаСтся Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ. Об ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… OSError.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ процСсс замСняСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ дСскрипторы Π½Π΅ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ, поэтому, Ссли Π² этих ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sys.stdout.flush () ΠΈΠ»ΠΈ os.fsync () ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ os.exec*().

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ 'l' ΠΈ 'v' Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ exec*() ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π‘ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ 'l', ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² фиксировано ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°; ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ просто становятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ execl*(). Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ 'v' Ρ…ΠΎΡ€ΠΎΡˆΠΈ, ΠΊΠΎΠ³Π΄Π° количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ списка ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° args. Π’ любом случаС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ процСсса Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с ΠΈΠΌΠ΅Π½ΠΈ выполняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ это Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС Π°ΡƒΠ΄ΠΈΡ‚Π° os.exec с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ path, args, env.

Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ: Unix, Windows.

НовоС Π² вСрсии 3.3: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° указания ΠΏΡƒΡ‚ΠΈ Π² качСствС дСскриптора ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° для execve ().

ИзмСнСно Π² вСрсии 3.6: ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΠΈ (path-like object ).

Last updated