Chcę uruchomić program z GUI, wpisując konsole
: foo args …
i wyjdź z powłoki (to jest wywołujący), gdy program ( foo
) jest aktywny.
Jak to zrobić? Czy istnieje wbudowane polecenie / program Linux / Unix, aby to zrobić? Naprawdę nie jestem człowiekiem muszlowym. Wiem, że jest to możliwe, pisząc mały program w C lub C ++ (dowolny inny język programowania z małym interfejsem I / O na POSIX) w języku programowania z fork()
i jeden z exec*()
rodzina funkcji. Może to zająć trochę czasu; Zrobię to tylko wtedy, gdy nie ma natywnego rozwiązania.
Przepraszam za mój zły język angielski; to nie jest mój język ojczysty. Ponadto, nie wiem na tagach, proszę edytować dla mnie, jeśli się mylę.
Jeśli to ma znaczenie, używam OpenSUSE 10.x.
konsole
; a kiedy programy te są otwarte, nie potrzebuję więcej otwartej konsoli, ale nie mogłem jej zamknąć, ponieważ konsola jest ojcem tego programu.Odpowiedzi:
nohup foo args &
Oddzieli polecenie od powłoki. Następnie możesz wyjść. Jeśli
foo
produkuje dowolne wyjście, zostanie umieszczone w „nohup.out” w bieżącym katalogu.źródło
&'? it does exactly what I want to. I don't need realy of
program nohup`.&
oznacza uruchomienie zadania w tle. Więcej informacji . Zauważ, że beznohup
, będzie nadal wychodzić, gdy powłoka zostanie zamknięta.