Programm ausführen ohne File

06/11/2011 - 09:57 von Jochen Topf | Report spam
Hi!

Gibts eine Möglichkeit unter Linux ein Programm auszuführen, das nicht in
einem File liegt? Also wenn man ein Executable in einem Tarfile hat oder
in einer Datenbank und man will das ausführen ohne es zuerst in ein Tempfile
zu kopieren. Man könnte ein spezielles Tar-Filesystem mounten oder sowas,
aber das scheint mir noch uneleganter als ein Tempfile.

Jochen
 

Lesen sie die antworten

#1 Enrik Berkhan
06/11/2011 - 13:53 | Warnen spam
Jochen Topf wrote:
Gibts eine Möglichkeit unter Linux ein Programm auszuführen, das nicht in
einem File liegt? Also wenn man ein Executable in einem Tarfile hat oder
in einer Datenbank und man will das ausführen ohne es zuerst in ein Tempfile
zu kopieren. Man könnte ein spezielles Tar-Filesystem mounten oder sowas,
aber das scheint mir noch uneleganter als ein Tempfile.



Wenn ich das unbedingt wollte, würde ich mir mal ld.so ansehen.

In der Praxis würde ich die Variante mit temporàrer Datei wàhlen, weil
es einfach und schnell zu implementieren ist. Evtl. mit fexecve(3) statt
execve(3). Ersteres hat Vorteile in Bezug auf Aufràumen und
"Sichtbarkeit", aber Nachteile, wenn man viele Kopien des gleichen
Programmes starten möchte/muss (Speicherbelegung oder wieder
Verwaltungsaufwand).

Gruß,
Enrik

Ähnliche fragen