[問題] 如何將execpl的執行結果傳到client

看板C_and_CPP (C/C++)作者 (栗子)時間16年前 (2009/10/18 01:37), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
我在寫一個遠端的Shell功能 現在client已經可以把指令傳到server並且執行了 在server用execlp()執行的結果必須要傳回給client 現在就是卡在這點...不曉得該用甚麼方法丟回去 因為execlp的執行結果會直接在server輸出 就像跑完 execlp("ls","ls",NULL) 後,server螢幕會出現結果 但不知道怎麼將ls的結果存到一個buffer內... 希望各位能夠給點方向,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.5.208

10/18 01:49, , 1F
忘了說系統,系統是linux
10/18 01:49, 1F

10/18 10:27, , 2F
NP作業嘛= =
10/18 10:27, 2F

10/18 14:17, , 3F
對...樓上修同一堂課吧 我卡關了ˊˋ
10/18 14:17, 3F

10/19 10:28, , 4F
用dup複製stdout到另一個fd,然後讀它,不知道可不可以?
10/19 10:28, 4F

10/19 18:22, , 5F
1.fork child process 2.dup client's fd to stdout
10/19 18:22, 5F

10/19 18:22, , 6F
3.run execlp
10/19 18:22, 6F

10/20 16:05, , 7F
感謝樓上,成功了!
10/20 16:05, 7F
文章代碼(AID): #1AsW3BFO (C_and_CPP)
文章代碼(AID): #1AsW3BFO (C_and_CPP)