У меня есть система («sudo apt-get update | sudo apt-get -y install apache2 zip unzip»); и т. д., но он делает все те же команды одновременно ?, как я могу сделать так, чтобы он выполнялся один за другим ?, а также некоторые могут попросить пользователя ввести информацию из apt-get, как я могу это показать? ?C - Система (""); Выполнять один за раз
ответ
Этот символ трубы (|
) означает, что выходной сигнал от sudo apt-get update
подается на вход sudo apt-get -y install apache2 zip unzip
. Хотя это на самом деле не имеет никакого смысла, это означает, что оба запускаются одновременно, а это не то, что вы хотите.
Либо заменить один вызов с двумя индивидуальной системой() вызывает:
system("sudo apt-get update");
system("sudo apt-get -y install apache2 zip unzip");
Обратите внимание, что при вызове системы(), программа не возобновляется до тех пор, процесс, который вы начали не вышел, так что это означает первый вызов будет выполнен, затем второй.
Или заменить трубу &&
(не обязательно гарантирует работу, хотя он действительно должен в любой системе Linux):
system("sudo apt-get update && sudo apt-get -y install apache2 zip unzip");
Это означает, правая часть команды будет выполняться, только если левая сторона выходит без ошибок (технически, имеет статус выхода 0).
Вместо этого вы можете заменить трубу точкой с запятой (;
), которая должна выполнять обе команды последовательно, независимо от состояния выхода первой команды.
Спасибо !!!, отлично поработал! – Daniel
- 1. Выполнять несколько файлов за один раз, используя один файл bat
- 2. Выполнять один и только один запрос за раз в RMI
- 3. Выполнять автокоманду только один раз
- 4. Только один поток за один раз C#
- 5. Выполнять рукопожатие только один раз
- 6. Выполнять кусок кода один раз
- 7. Выполнять completeAjax только один раз
- 8. Выполнять jquery только один раз
- 9. Сколько одновременных проектов может выполнять старший разработчик за один раз?
- 10. Один сигнал за один раз
- 11. Один UIButton за один раз
- 12. Один флажок за один раз
- 13. Сборка списков типов за один раз (C++)
- 14. Задачи C# TPL - Сколько за один раз
- 15. Цель C, один метод за раз?
- 16. Один пользователь за раз
- 17. Выполнять только запрос jQuery ajax один раз
- 18. Выполнять функцию SQL только один раз
- 19. Выполнять p.sendMessage только один раз в PlayerMoveEvent
- 20. Выполнять вызов ajax только один раз
- 21. Разрешить функцию onclick выполнять только один раз
- 22. Файловая система Watcher в C# получает только один раз
- 23. C# три bools один true за один раз
- 24. андроид один раз система входа в систему
- 25. Система «просмотренных» - один раз для пользователя
- 26. Как выполнять функции один за другим?
- 27. Как выполнять эти функции один за другим?
- 28. как вызвать функцию один раз за раз?
- 29. Отправить один файл за раз?
- 30. jquery $ .get (...) один за раз
Каковы признаки того, что вы считаете, что обе команды выполняются одновременно? – bits
Все они находятся в одном системном вызове, но apt-get швы говорят, что он заблокирован, хотя нет процесса до этого системного вызова – Daniel
есть ли причина, по которой вы используете C? – ghostdog74