2014-03-05 57 views
1

任何人都可以告訴我程序或C代碼執行該C代碼後啓動另一個終端。其實我想寫一個程序,可以啓動一個新的終端,而無需點擊終端圖標。任何人都可以引導我或向我提供C代碼。啓動終端應用程序的C代碼....?

+1

系統調用是你的朋友:'man execve'。 –

+1

閱讀['fork'](http://man7.org/linux/man-pages/man2/fork.2.html)和['execl' /'execv'](http://man7.org/ linux/man-pages/man3/execl.3.html) –

回答

2

使用下面的C代碼:

#include "stdio.h" 

int main(void) 
{ 

    system("gnome-terminal"); 
    return 0; 
} 

system()函數將運行終端命令的,你可以使用 系統功能運行任何Linux命令在C代碼中。

+0

它的工作原理......謝謝.....你很棒 – Maddy

+0

你是最受歡迎的。你可以接受它,這樣我會得到一個綠色的勾號 –

0

有幾種方法在終端執行命令,而不帶外殼的人工交互,包括:

選擇殼>新的命令菜單項,然後輸入一個命令。將運行命令保留在未選中的shell複選框內。您的程序將直接在沒有shell的情況下執行。如果您打開檢查器窗口並查看「信息」窗格,則會看到進程列表僅列出「登錄」和您的命令,但沒有shell。

從Finder打開* .command文件。終端將啓動一個shell並告訴它執行命令文件,然後退出。你會看到一個shell提示符後面跟着一個如下所示的命令:/path/to/your/file.command;出口;。同樣,如果你看看Inspector,進程列表將包括「登錄」,你的shell和命令可執行文件。 (這也是如果您在新建命令面板中選擇運行命令在shell中會發生的情況。)

聽起來像您正在使用#2。在你的程序退出後,沒有辦法改變你的程序讓shell保持交互。然而,有一對夫婦的間接的方式有終端運行一個命令,然後留下一個交互式shell:

創建在交互式shell中運行你的命令設置配置文件:

在首選項>設置複製使用配置文件列表底部的操作(齒輪)菜單的默認配置文件。 轉到Shell窗格並選擇Run command :. 輸入您的命令文件的路徑名。 選擇在殼內運行。 使用操作菜單中的導出命令或將其從配置文件列表中拖動到Finder,將設置配置文件導出到* .terminal文件。 然後,無論何時您想要創建一個通過運行程序啓動的新shell,請打開* .terminal文件。您也可以使用Shell> New Window [或Tab]菜單,或者通過雙擊配置文件列表中的配置文件,在終端內使用此配置文件打開一個新的終端。

編寫一個指導終端運行命令的AppleScript,就好像您已將它輸入命令行一樣。然後,您可以將該腳本存儲在系統範圍的「腳本」菜單中並從該菜單中調用該腳本,也可以將該腳本另存爲可運行的應用程序。該腳本應該是這樣的,例如:

tell application "Terminal" 
    activate 
    do script "/path/to/your/file.command" 
end tell 
相關問題