2010-03-13 129 views
1

使用bash,是否可以將相當於空格鍵的筆劃發送到進程?如果是這樣,那怎麼做?發送命令到進程

編輯來澄清一下我想達到的目標:假設我有一個mplayer進程正在運行,我想暫停當前歌曲的執行,我將如何實現這一點?

回答

4

您可以將標準I/O指向它。如果你使用Bash,那麼你可能有其他的GNU工具。 GNU Coreutils有一個echo命令,可以輸出任何東西。例如:

$ echo -n ' ' | some_command 

但是如果你需要一個實際的TTY(終端),你有更復雜的要求,看看期待,它可以做幾乎任何人可以(除認爲)。

+0

我編輯了我的問題,現在我認爲它更清晰,對不清楚的問題 – 2010-03-13 19:45:44

+0

期望可以做到這一點。您需要做一些編程,以便在Expect應該暫停時進行通信(例如,IR遠程觸發某些預期信號的程序)。但考慮到你在堆棧溢出,我認爲這正是你想要的。 – JasonSmith 2010-03-13 20:06:50

+0

非常好,到目前爲止我只用expect來給一些腳本提供密碼,我會檢查它的手冊頁,謝謝:) – 2010-03-13 23:02:46

0

您可以將信號發送到使用過程殺死命令。有關更多信息,請嘗試man kill