Pytania otagowane jako exec

Rodzina funkcji exec () zastępuje bieżący obraz procesu nowym obrazem procesu, zachowując pid i potoki starego procesu. Ten znacznik jest również używany dla wbudowanej powłoki, której można użyć do zastąpienia bieżącej powłoki programem lub różnymi rzeczami związanymi z przekierowaniem.


4
Co dokładnie dzieje się, gdy wykonuję plik w mojej powłoce?
Pomyślałem więc, że dobrze to rozumiem, ale właśnie przeprowadziłem test (w odpowiedzi na rozmowę, w której nie zgadzałem się z kimś) i stwierdziłem, że moje rozumienie jest błędne ... Jak bardzo szczegółowo, co dokładnie dzieje się, gdy wykonuję plik w mojej powłoce? Mam na myśli to, że jeśli napiszę : …
32 shell  kernel  exec  shebang 


2
powód wykonania w skryptach otoki
Widziałem przykłady skryptu opakowania, które w skrócie są następujące: #!/bin/bash myprog=sleep echo "This is the wrapper script, it will exec "$myprog"" exec "$myprog" "$@" Jak widać powyżej, execprawie natychmiast zastępują nowo utworzoną powłokę $myprog. Można to osiągnąć bez exec: #!/bin/bash myprog=sleep echo "This is the wrapper script, it will exec …
27 bash  exec 

2
Czy POSIX gwarantuje ścieżki do standardowych narzędzi?
Z C, jaki jest najłatwiejszy sposób uruchomienia standardowego narzędzia (np. Ps), a żadnego innego? Czy POSIX gwarantuje na przykład, że standard psjest włączony, /bin/psczy powinienem zresetować zmienną środowiskową PATH do tego, co otrzymuję, confstr(_CS_PATH, pathbuf, n);a następnie uruchomić narzędzie poprzez wyszukiwanie PATH?
22 path  c  posix  exec 

2
Czy istnieje sposób POSIX na ustawienie zerowego argumentu aplikacji docelowej?
W bashyou can exec -ai in zshmożesz alternatywnie ustawić również ARGV0wykonanie programu z pewnym zerowym argumentem, ale czy istnieje również sposób POSIX? Jak zasugerowano w tym jednym komentarzu, możesz stworzyć (tymczasowy) symboliczny link, aby to osiągnąć, ale w ten sposób nie mogłem ustawić nowej wartości zerowego argumentu na naprawdę dowolną …

3
Jak „poprawnie” uruchomić aplikację z powłoki
Trudno mi precyzyjnie sformułować pytanie, ale dam z siebie wszystko. Używam dwmjako domyślnego menedżera okien idmenujako mój program uruchamiający aplikacje. Prawie nie używam aplikacji GUI poza przeglądarką. Większość mojej pracy jest wykonywana bezpośrednio z wiersza poleceń. Ponadto jestem wielkim fanem minimalizmu w odniesieniu do systemów operacyjnych, aplikacji itp. Jednym z …
21 shell  exec 

4
Jak działają fork i exec?
Nie mam dużego doświadczenia, po prostu staram się zaangażować w procesy, w jaki sposób interpretują sprzęt z poziomu użytkownika. Kiedy więc polecenie jest uruchamiane z powłoki, fork()dziedziczy proces potomny i exec()ładuje proces potomny do pamięci i wykonuje. Jeśli proces potomny zawiera wszystkie atrybuty procesu macierzystego (który jest procesem oryginalnym), to …
17 fork  exec 

6
Wybierz interpreter po uruchomieniu skryptu, np. If / else wewnątrz hashbang
Czy istnieje sposób na dynamiczne wybranie interpretera wykonującego skrypt? Mam skrypt, który uruchamiam na dwóch różnych systemach, a tłumacz, którego chcę użyć, znajduje się w różnych lokalizacjach na dwóch systemach. Ostatecznie muszę zmienić linię hashbang za każdym razem, gdy się przełączam. Chciałbym zrobić coś, co jest logicznym odpowiednikiem tego (zdaję …

1
Co robi exec 3 <i 1?
Rozumiem, że execmożna wykonać przekierowanie we / wy w bieżącej powłoce, ale widzę tylko takie użycie, jak: exec 6&lt;&amp;0 # Link file descriptor #6 with stdin. # Saves stdin. exec 6&gt;&amp;1 # Link file descriptor #6 with stdout. # Saves stdout. Rozumiem, że &lt;to jest dla strumienia wejściowego, &gt;jest dla …

6
uprawnienie php shell_exec () w systemie Linux Ubuntu
Zajmuję się tworzeniem aplikacji php za pomocą serwera Linux. Mój problem polega shell_exec()na tym, że wywołanie jakiegoś pliku exe nie działa (właściwie nie exe, to rodzaj pliku wykonywalnego linux) echo shell_exec("whoami"); Mam demona echo shell_exec("ls") Mam nazwę pliku, ale echo shell_exec("php -v") Nic nie mam, pusta strona echo shell_exec("php ....bla …
13 linux  shell  php  exec 


3
Dlaczego musimy dwukrotnie podać nazwę pliku w funkcjach exec?
Czytałem Zaawansowane Programowanie w środowisku systemu UNIX przez Stevensa, 8 th rozdziału. Czytam i rozumiem wszystkie sześć funkcji exec. Zauważam, że we wszystkich funkcjach exec: pierwszy argument to nazwa pliku / nazwa ścieżki (zależy od funkcji exec). drugim argumentem jest argv [0], który otrzymujemy main(), czyli sama nazwa pliku. Więc …


2
Dlaczego vfork () jest przeznaczony do użycia, gdy proces potomny wywołuje exec () lub exit () natychmiast po utworzeniu?
Pojęcia dotyczące systemu operacyjnego i APUE mówią W przypadku vfork () proces nadrzędny jest zawieszany, a proces podrzędny wykorzystuje przestrzeń adresową nadrzędnego. Ponieważ vfork () nie używa funkcji kopiowania przy zapisie, jeśli proces potomny zmieni dowolne strony w przestrzeni adresowej rodzica, zmienione strony będą widoczne dla rodzica po wznowieniu. Dlatego …
11 linux  process  exec  exit  vfork 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.