Powrót do strony głównej exec

 Uruchamianie skryptów oraz programów w języku Java

A. Skrypty: binfmt_script.c : do_load_script(...)
Plik skryptu powinien w pierwszym wierszu zawierać znaki "#!", po których następuje nazwa interpretatora ("shell"). Kontrola zgodnośœci z formatem sprowadza się tu zbadania, czy nagłówek pliku, dany przez bprm->buf rozpoczyna się od w. wym. znaków. Dalej już system próbuje wydzielić z pierwszego wiersza pliku nazwę interpretatora i uruchomić go z nazwą skryptu jako ostatnim parametrem. Aby tego dokonać, przerabiamy dostarczoną jako parametr wywołania strukturę linux_binprm na taką, jaka byłaby stworzona, gdyby użytkownik wydał wprost polecenie uruchomienia powłoki:

B. Applety i skrypty w języku Java - ich uruchamianie ma prawie identyczny przebieg jak w przypadku ogólnych skryptów - kody procedur "do_load_script" oraz "do_load_applet" z pliku "binfmt_java.c" pokrywają się z kodem procedury "do_load_script" z pliku "binfmt_script.c" po usunięciu z tej ostatniej "wyłuskiwania" z góry znanej nazwy interpretatora, oraz sprawdzania pola bprm->sh_bang. Ciekawostką jest, że uruchamiany jest tutaj "bash" z nazwą interpretatora Java jako parametrem - czyżby interpretator ten był skryptem?
 


Opracowanie oraz komentarze w plikach binfmt_script.c i binfmt_java.c:
Marcin Mędelski-Guz