fcntl

    2熱度

    1回答

    我試圖在Linux上使用文件密封。這裏有一個C程序的例子。 #define _GNU_SOURCE #include <unistd.h> #include <fcntl.h> int main(void) { (void)F_SEAL_SEAL; } 您可以使用gcc -Wall -o ./linux_file_sealing linux_file_sealing.c或類

    1熱度

    1回答

    我試圖用FCNTL庫在同一時間只能運行一個腳本實例, 它的工作原理,當它是誰運行腳本(同一臺服務器只能在一臺服務器」 t運行腳本的另一個實例),但如果我有另一個服務器(實際上訪問相同的文件系統)運行腳本,它不起作用(他可以實際運行它)。 任何人對如何處理這個使用FCNTL庫的想法(或其他?)提前 感謝。

    0熱度

    1回答

    我使用帶有fl.1_start和f1.1_len的某些值的fcntl來鎖定文件中的特定字節。當程序正在運行時,我試圖從這些字節上的其他程序寫入該文件。當兩個程序同時運行時,第二個程序正在寫入鎖定的字節,儘管第一個程序存在鎖定。任何人都可以解釋爲什麼它表現得如此嗎?

    5熱度

    1回答

    我需要分配大文件而不調零其內容。我正在製作具有巨大文件大小(數百GB)的步驟fopen => ftruncate => fclose => mmap => (...work...) => munmap。當系統嘗試調零文件字節時,應用程序掛起幾分鐘 - 恕我直言,因爲使用了ftruncate。 ftruncate(ofd, 0); #ifdef HAVE_FALLOCATE int

    -1熱度

    1回答

    我在我的程序中包含inotify以監視對文件系統的更改後出現奇怪的鏈接問題。該項目在許多其他源文件中包含<fcntl.h>。然而,當我包括<sys/inotify.h>這是做目錄監控源文件中,我得到這個錯誤: /usr/include/fcntl.h:30:1: error: expected initializer before ‘extern’ __BEGIN_DECLS 我的項目使用CMak

    -1熱度

    1回答

    我測試的東西出來阻止我做了一個非阻塞套接字,但「與fgets」毀了我的計劃。我如何防止fgets阻止我的while循環顯示在下面? 解決此問題的代碼將不勝感激。 fcntl(clientSocket, F_SETFL, O_NONBLOCK); while(1){ fgets(buffer,sizeof(buffer),stdin); send(clientSocket,

    -1熱度

    2回答

    在我的TCP服務器,我想連接(活動)插座有: 非阻塞被動插座有無阻塞接受(); 接受連接後,我想喜歡覈實客戶提供的ID和密碼進行一些認證。所以我有明確的協議,我想通過連接套接字阻止TCP服務器和客戶端之間的recv()/ send()對話。 客戶端身份驗證後,我想有無阻塞連接插座,以便從外部線程服務器關閉。 問題是,當我第一次設置非阻塞PASSIVE套接字然後接受CONNECTION套接字也是非阻

    5熱度

    1回答

    預先警告:我在這裏出於好奇而竊竊私語。我沒有具體的理由去做我在下面做的事情! 下面是對Python 2.7.13做了MacOS 10.12.5 我與蟒蛇黑客周圍,我認爲這會是有趣的,看看發生了什麼,如果我做了stdout非阻塞 fcntl.fcntl(sys.stdout.fileno(), fcntl.F_SETFL, os.O_NONBLOCK) 至fcntl電話是絕對成功。然後我嘗試寫入

    0熱度

    2回答

    我試圖在GAE上使用pyDNS。 在Base.py有import asyncore 那是什麼,我得到: File "/base/data/home/apps/myapp/lib/DNS/Base.py", line 14, in <module> import asyncore File "/base/data/home/runtimes/python27/python27_d

    0熱度

    1回答

    我想爲使用python的文件預先分配存儲空間。隨着的fcntl,我可以℃下在預先分配存儲: int fd = myFileHandle; fstore_t store = {F_ALLOCATECONTIG, F_PEOFPOSMODE, 0, aLength}; int ret = fcntl(fd, F_PREALLOCATE, &store); if(-1 ==