Krzysztof Kuś

Krzysztof Kuś Kierownik działu IT,
CEMET S.A.

Temat: Program dla powłoki linuks w C

Witam.

Mam taką prośbę a mianowicie czy ktoś mógłby mi podać w jaki sposób przekazać w C jakieś polecenie linuksa ? Np ls, find itp.

Chodzi mi o to, że chciałbym napisać program np. który wyszukuje jakiegoś pliku we wskazanym katalogu ale przez mój program czyli ./mojprogram katalog/ plik :)

pozdrawiam Krzysiek

konto usunięte

Temat: Program dla powłoki linuks w C

Krzysztof Kuś:
Witam.

Mam taką prośbę a mianowicie czy ktoś mógłby mi podać w jaki sposób przekazać w C jakieś polecenie linuksa ? Np ls, find itp.

Chodzi mi o to, że chciałbym napisać program np. który wyszukuje jakiegoś pliku we wskazanym katalogu ale przez mój program czyli ./mojprogram katalog/ plik :)

pozdrawiam Krzysiek

system( "ls -l");
szukaj: man systemPiotr P. edytował(a) ten post dnia 10.01.09 o godzinie 11:13

konto usunięte

Temat: Program dla powłoki linuks w C

Piotr P.:
Krzysztof Kuś:
Witam.

Mam taką prośbę a mianowicie czy ktoś mógłby mi podać w jaki sposób przekazać w C jakieś polecenie linuksa ? Np ls, find itp.

Chodzi mi o to, że chciałbym napisać program np. który wyszukuje jakiegoś pliku we wskazanym katalogu ale przez mój program czyli ./mojprogram katalog/ plik :)

pozdrawiam Krzysiek

system( "ls -l");
szukaj: man systemPiotr P. edytował(a) ten post dnia 10.01.09 o godzinie 11:13

I zwróć uwagę na NOTES w manualu. Szczególnie jeśli chcesz by Twój program dział z innymi uprawnieniami niż użytkownik, który go uruchamia.
Krzysztof Kuś

Krzysztof Kuś Kierownik działu IT,
CEMET S.A.

Temat: Program dla powłoki linuks w C

A jeżeli nie można użyć funkcji system() tylko fork/exec :)

Może mi ktoś podać przykład użycia tych funkcji do uruchomienia jakiegoś programu np.: tego "ll" :)

z góry dziękuję

EDIT :

znalazłem taki przykład i działa :

#include
main()
{
execl("/bin/ls", "/bin/ls", "-r", "-t", "-l", (char *) 0);
}

tylko mam pytanie w jaki sposób przekazywać parametry np wprowadzone przez użytkownika ?

Dobra znalazłem całość ... sorki za zamieszanie można usunąć :)Krzysztof Kuś edytował(a) ten post dnia 15.01.09 o godzinie 12:33
Krzysztof Kuś

Krzysztof Kuś Kierownik działu IT,
CEMET S.A.

Temat: Program dla powłoki linuks w C

Jak by ktoś mógł mi pomóc i powiedzieć w jaki sposób obsłużyć "exit" w C ? Tzn. po wpisaniu jakiegoś polecenia ustalonego w skrypcie zakończyć działanie programu :)

konto usunięte

Temat: Program dla powłoki linuks w C

Krzysztof Kuś:
Jak by ktoś mógł mi pomóc i powiedzieć w jaki sposób obsłużyć "exit" w C ? Tzn. po wpisaniu jakiegoś polecenia ustalonego w skrypcie zakończyć działanie programu :)

Nie bardzo ruzumiem co chcesz zrobic.
Chesz z poziomu skryptu zakonczyc program?
Najprosciej:
ps (+ grep) odczytaj pid programu, a nastepnie go zabij (kill).Piotr P. edytował(a) ten post dnia 29.01.09 o godzinie 14:57
Krzysztof Kuś

Krzysztof Kuś Kierownik działu IT,
CEMET S.A.

Temat: Program dla powłoki linuks w C

tak właśnie chcę zakończyć pracę skryptu z jego poziomu.

Nie ma funkcji w C która kończy program ?

konto usunięte

Temat: Program dla powłoki linuks w C

Krzysztof Kuś:
Nie ma funkcji w C która kończy program ?
exit (lub return w main)Piotr P. edytował(a) ten post dnia 29.01.09 o godzinie 15:03
Juliusz Mikoda

Juliusz Mikoda Projektant,
programista

Temat: Program dla powłoki linuks w C

Poczytaj: man sigsend
Jak dobrze pamiętam parametrem bedzie identyfikator procesu i sygnał jego zakończenia SIGKILL.

Tylko się zastanawiam dlaczego chcesz zabijać ten dodatkowy proces? Nie lepiej pozowlić mu się samemu zakończyć?

Następna dyskusja:

Rozszerzenie/klasa SQL dla C++




Wyślij zaproszenie do