dbo:abstract | - exec je v informatice speciální systémové volání poskytované unixovým jádrem operačního systému. Jeho vyvoláním je kód běžícího procesu kompletně nahrazen programem, který je předán jako parametr. Zachováno zůstane PID a prostředí procesu (otevřené soubory, PCB apod.), avšak před jeho voláním je pro otevřené soubory nutné vyprázdnit buffery a cache. Volání exec je typicky využíváno po volání <a href="/wiki/Fork_(syst%C3%A9mov%C3%A9_vol%C3%A1n%C3%AD)" title="Fork (systémové volání)">fork</a> při vytváření nových procesů. (cs)
- exec* ist eine Gruppe von Systemcalls unter Unix und unixähnlichen Betriebssystemen. Ihnen allen ist gemeinsam, einen neuen Prozess in dem Environment eines bestehenden Prozesses zu starten und damit diesen zu ersetzen. (Dieser Vorgang wird auch Overlay genannt.) Im POSIX-Standard werden dazu folgende Funktionsprototypen in der Headerdatei unistd.h definiert: int execl(char const *path, char const *arg0, ...); int execle(char const *path, char const *arg0, ..., char const *envp[]); int execlp(char const *file, char const *arg0, ...); int execv(char const *path, char const *argv[]); int execve(char const *path, char const *argv[], char const *envp[]); int execvp(char const *file, char const *argv[]); Dabei bedeuten: arg0das erste (eigentlich: nullte, weil implizit gesetzte) Argument auf der Kommandozeile und konventionell der Name des ausgeführten Executables. Schlecht programmierte Software verlässt sich unter Umständen auf diese Angabe, um den exakten Ort in Filesystem festzustellen, von dem das laufende Programm geladen wurde. Dies ist allerdings nicht nur nicht durch den Standard garantiert, sondern auch nicht plattformübergreifend konsistent geregelt.envp[]ein Array von Pointern, die auf Strings von der Form Variable=Wert zeigen und das Environment des Prozesses darstellenpathder Pfadname der Datei, die ausgeführt werden soll. (Dieser sollte anstatt arg0 für diese Information genutzt werden.)argv[]ein Array von Pointern, die auf die übergebenen Kommandozeilenargumente zeigen. Beide beteiligten Arrays, envp[] und argv[] enthalten Pointer auf nullterminierte Strings. Das letzte Element des Arrays ist konventionell ein Nullpointer, womit das Ende des Arrays angezeigt wird. (de)
- In computing, exec is a functionality of an operating system that runs an executable file in the context of an already existing process, replacing the previous executable. This act is also referred to as an overlay. It is especially important in Unix-like systems, although it exists elsewhere. As no new process is created, the process identifier (PID) does not change, but the machine code, data, heap, and stack of the process are replaced by those of the new program. The exec call is available for many programming languages including compilable languages and some scripting languages. In OS command interpreters, the exec built-in command replaces the shell process with the specified program. (en)
- exec はUnix系オペレーティングシステムにおける関数群で、関数の引数として渡されたプログラムで動作中の当該プロセスを完全に置換する機能を有する。新たなプロセスを生成するわけではないので、プロセス識別子 (PID) は変化しないが、プロセスの仮想空間上のスタック、ヒープ、データなどは全て新たなものに置換される。 (ja)
- Exec è una funzione di sistema presente nella libreria standard del C del progetto GNU, la GNU C Library. (it)
- Exec (van execute, "voer uit!") concept uit de informatica en is (onder de naam execve) deel van de POSIX API en vervangt het programma dat het huidige proces uitvoert. Er wordt dus geen nieuw proces gestart, maar het huidige proces start een ander programma. Om een ander programma te starten in een apart proces wordt dan ook een combinatie fork/exec gebruikt. (nl)
|
rdfs:comment | - exec je v informatice speciální systémové volání poskytované unixovým jádrem operačního systému. Jeho vyvoláním je kód běžícího procesu kompletně nahrazen programem, který je předán jako parametr. Zachováno zůstane PID a prostředí procesu (otevřené soubory, PCB apod.), avšak před jeho voláním je pro otevřené soubory nutné vyprázdnit buffery a cache. Volání exec je typicky využíváno po volání <a href="/wiki/Fork_(syst%C3%A9mov%C3%A9_vol%C3%A1n%C3%AD)" title="Fork (systémové volání)">fork</a> při vytváření nových procesů. (cs)
- exec はUnix系オペレーティングシステムにおける関数群で、関数の引数として渡されたプログラムで動作中の当該プロセスを完全に置換する機能を有する。新たなプロセスを生成するわけではないので、プロセス識別子 (PID) は変化しないが、プロセスの仮想空間上のスタック、ヒープ、データなどは全て新たなものに置換される。 (ja)
- Exec è una funzione di sistema presente nella libreria standard del C del progetto GNU, la GNU C Library. (it)
- Exec (van execute, "voer uit!") concept uit de informatica en is (onder de naam execve) deel van de POSIX API en vervangt het programma dat het huidige proces uitvoert. Er wordt dus geen nieuw proces gestart, maar het huidige proces start een ander programma. Om een ander programma te starten in een apart proces wordt dan ook een combinatie fork/exec gebruikt. (nl)
- In computing, exec is a functionality of an operating system that runs an executable file in the context of an already existing process, replacing the previous executable. This act is also referred to as an overlay. It is especially important in Unix-like systems, although it exists elsewhere. As no new process is created, the process identifier (PID) does not change, but the machine code, data, heap, and stack of the process are replaced by those of the new program. (en)
- exec* ist eine Gruppe von Systemcalls unter Unix und unixähnlichen Betriebssystemen. Ihnen allen ist gemeinsam, einen neuen Prozess in dem Environment eines bestehenden Prozesses zu starten und damit diesen zu ersetzen. (Dieser Vorgang wird auch Overlay genannt.) Im POSIX-Standard werden dazu folgende Funktionsprototypen in der Headerdatei unistd.h definiert: Dabei bedeuten: Beide beteiligten Arrays, envp[] und argv[] enthalten Pointer auf nullterminierte Strings. Das letzte Element des Arrays ist konventionell ein Nullpointer, womit das Ende des Arrays angezeigt wird. (de)
|