2015-06-18 2 views
1

Я пытаюсь запустить команду в окне консоли/Я использую форму GTK/
Так что я попытался запустить его таким образом:
Как показать консоль при запуске процесса?

Process p = new Process(); 
p.StartInfo.UseShellExecute = false; 
p.StartInfo.FileName = "bash"; 
p.StartInfo.CreateNoWindow = false; 
p.StartInfo.Arguments ="/tmp/test.sh"; 
p.Start(); 
p.WaitForExit(); 

, но он не будет отображаться что-нибудь.
для тех, кто только использовать окна, это что-то вроде:

p.StartInfo.FileName = "cmd"; 
p.StartInfo.Arguments =" c:\\test.bat"; 

Я попытался изменить UseShellExecute к истине, но проблема все еще существует ..
Любые идеи ??

+0

определить «ничего не будет». – dotctor

+0

Я хочу показать новую консоль .. но я не получаю консольное окно вообще – user3379482

+0

Создается ли процесс? Вы видите, что он работает? – fk2

ответ

1

Bash запускает скрипт, но если вы хотите видеть вывод, вам нужно запустить его в терминале.

Process p = new Process(); 
p.StartInfo.UseShellExecute = false; 
p.StartInfo.FileName = "gnome-terminal"; // Replace with whichever terminal you want to use 
p.StartInfo.CreateNoWindow = false; 
p.StartInfo.Arguments ="-x bash /tmp/test.sh"; 
//p.StartInfo.Arguments ="-e \"bash -c /tmp/test.sh;bash\""; // Use this if you want the terminal window to stay open 
p.Start(); 
p.WaitForExit(); 
Смежные вопросы