亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 并發(fā)open/write一個設(shè)備文件的問題 [打印本頁]

作者: pilgrim_kevin    時間: 2008-09-23 17:40
標(biāo)題: 并發(fā)open/write一個設(shè)備文件的問題
舉例:

/dev/usb/lp0 是一個USB打印機(jī)。

我現(xiàn)在想使用cat print_dat > /dev/usb/lp0 的方式進(jìn)行打印。不存在并發(fā)的情況下沒有問題,可是如果幾個進(jìn)程同時使用這種方式,那么只有一個進(jìn)程正常工作,其他進(jìn)程無法打開設(shè)備文件。即設(shè)備文件是獨占打開的。

我現(xiàn)在自己編寫程序來代替cat,如何在打開設(shè)備文件時判斷設(shè)備文件已被獨占打開?如何讓這個進(jìn)程阻塞直到另外一個進(jìn)程close這個獨占的設(shè)備文件?如果不是兩個,而是兩個以上更多進(jìn)程要執(zhí)行這個操作,使用什么最好的方法可以讓他們排隊?

求教高手,謝謝。
作者: ivhb    時間: 2008-09-23 17:43
用lp file?
作者: pilgrim_kevin    時間: 2008-09-23 18:32
嵌入式系統(tǒng)
作者: 山外山    時間: 2008-09-25 11:29
有沒有fcntl,有的話用F_SETLK
作者: cjaizss    時間: 2008-09-25 11:34
原帖由 山外山 于 2008-9-25 11:29 發(fā)表
有沒有fcntl,有的話用F_SETLK

建議型文件鎖,快忘了有這個東西了,呵呵。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2