Возможно ли выполнить команду оболочки, создав поток, то есть без использования popen/system или любого из вариантов fork-exec? Почему или почему нет?Выполнение команды оболочки с помощью потоков C++
Чтобы обеспечить больше контекста, я запускаю многопоточную программу, где один из потоков должен выполнять сценарий оболочки. В настоящее время он использует popen(). Однако, поскольку разветвление в многопоточной программе считается плохой практикой, можно ли добиться того же путем нереста потока?
Я не вижу примеров в Интернете. Не могли бы вы привести пример того, как можно выполнить команду оболочки с помощью потоков на C++? – user1715122
Не понимаю. Если я хочу выполнить команду «ls», я могу сделать систему («ls») на C++. Как я могу использовать std-потоки, чтобы сделать то же самое? – user1715122
Чтобы указать больше контекста, я запускаю многопоточную программу, в которой один поток должен выполнить некоторый сценарий оболочки. В настоящее время я делаю popen() для выполнения этого сценария оболочки. Это плохо, так как я не хочу развиваться в многопоточной программе. Итак, я хотел знать, как я могу выполнить этот сценарий оболочки без использования fork. Можно ли создать другой поток и выполнить этот сценарий оболочки? – user1715122