Próbuję wykonać polecenie systemu Linux w programie c przy użyciu systemowego wywołania systemowego, ale nie chcę, aby zrzucić dzienniki wyjściowe lub błędy na terminalu. Co powinienem zrobić? Czy jest jakiś inny sposób na zrobienie tego?Wykonywanie polecenia systemu Linux w programie c
14
A
Odpowiedz
23
Ponieważ wywołanie system() używa powłoki do wykonania polecenia, możesz przekierować standardowe wyjście i stderr do/dev/null, np.
system("ls -lh >/dev/null 2>&1");
3
Pokaż kod.
Spróbuj np
System ("ls");
11
popen to kolejny sposób, w którym można zrobić to samo:
void get_popen()
FILE *pf;
char command[20];
char data[512];
// Execute a process listing
sprintf(command, "ps aux wwwf");
// Setup our pipe for reading and execute our command.
pf = popen(command,"r");
// Error handling
// Get the data from the process execution
fgets(data, 512 , pf);
// the data is now in 'data'
if (pclose(pf) != 0)
fprintf(stderr," Error: Failed to close command stream \n");
return;
}
+0
przeciwieństwie do innych odpowiedzi, to jeden pozwala również uzyskać wyjście programu. –
Powiązane problemy
- 1. C++ polecenia Linux
- 2. Filtrowanie wyjściowego polecenia dla systemu Linux
- 3. Uruchamiaj polecenia systemu Linux od Qt4
- 4. Resetowanie polecenia systemu Linux (1) jest powolne
- 5. Wykonywanie polecenia w Haskell
- 6. Użycie polecenia chmod w programie C
- 7. Argumenty wiersza polecenia w programie C używające Netbeans
- 8. Parametry wiersza polecenia dla systemu Linux 64 w zespole
- 9. Windows C# implementacja polecenia linux dd
- 10. Wykonywanie programów OpenGL w systemie Linux
- 11. oktawę 3.8.1 nie może zatrzymać wykonywanie w oknie polecenia gui
- 12. Komenda powłoki systemu Linux polecenia awk zbyt wiele otwartych plików
- 13. Giving argumenty wiersza polecenia w Xcode w programie C
- 14. Wykonywanie innego słoika w programie java
- 15. Wykonywanie skryptu PowerShell w programie Fake
- 16. jak uzyskać ciąg wyjściowy polecenia linux i stan wyjściowy w C++
- 17. Jak dokonać podziału w konsoli systemu Linux?
- 18. Uzyskaj dane wyjściowe polecenia systemowego w programie C
- 19. Schemat polecenia: wykonywanie wielu poleceń w sekwencji
- 20. Wykonywanie podstawowego polecenia powłoki w Elixir
- 21. Wykonywanie polecenia powłoki Django z wiersza poleceń
- 22. C++ Wykonywanie poleceń CMD
- 23. Wykryto błąd klienta "wykonywanie poprzedniego polecenia wykonania polecenia czekania"
- 24. HeapCreate, HeapAlloc w systemie Linux, prywatny przydział dla systemu Linux
- 25. C# w środowisku linux
- 26. Lepsza powłoka systemu Linux?
- 27. Co oznacza "i" na końcu polecenia linux?
- 28. syslog_r dla systemu Linux?
- 29. Jaka jest najlepsza praktyka w tworzeniu narzędzia wiersza polecenia unix/linux w języku C/C++?
- 30. Zatrzymaj wykonywanie kodu C#
+1, dodając dodatkowy ')' jest ćwiczeniem w lewo dla czytelnika :) –