[問題] 使用execvp 如何背景執行child?

看板LinuxDev作者 (godterry)時間16年前 (2008/05/15 16:44), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
最近在寫一個自己的shell 用到了exec系列中的"execvp"這個function 但是卻不知道到該怎麼樣讓一個process背景執行 意思就是說雖然user有輸入& 但我的shell卻是把&看成一個參數而不是背景執行的訊號 e.g. vim my_shell.c & 這樣子在我的shell中下command的話 會變成在vim中開兩個檔案: my_shell.c跟& 在google上找了一些文章都沒有明確說明該怎麼處理 請問大家可以幫我解答嗎~~ 謝謝~~!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.168.93

05/15 17:15, , 1F
用 fork() ?
05/15 17:15, 1F

05/15 17:16, , 2F
恩 我是先用fork()出一個child然後wait()
05/15 17:16, 2F

05/15 17:17, , 3F
有人知道怎麼看有沒有process在wait? ps -al嗎?
05/15 17:17, 3F

05/16 09:10, , 4F
要使一個程式在背景執行用tcsetpgrp()
05/16 09:10, 4F

05/16 10:47, , 5F
fork()後不要wait()不就是背景執行的意義了嘛~~
05/16 10:47, 5F

05/16 10:55, , 6F
可見原po對fork的概念還沒完全熟,在多念幾遍吧
05/16 10:55, 6F

05/16 11:50, , 7F
對阿才剛摸不久,我會試試看!感謝回應!!
05/16 11:50, 7F
文章代碼(AID): #18A_Vmuf (LinuxDev)