婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > linux使用cp報錯 Text file busy

linux使用cp報錯 Text file busy

熱門標簽:濟南智能語音電銷機器人加盟 河南語音電銷機器人加盟公司 抖音商家地圖標注入駐店 易聯系統外呼營銷來回呼 江西意向度高的羿智云外呼系統 無錫真人電銷機器人供應商 無錫ai智能語音電銷機器人廠家 如何找電銷機器人 電銷機器人怎么打卡

我第一個想到的是:可能ioctl可以檢查文件。可惜我猜錯了,看了一下cp的源碼,原來如果一個文件正在運行,另一個進程再open以獲得寫權限的話,這個open本身就會失敗,返回-1,errno為ETXTBSY。

那么cp -f 為什么又可以?因為cp -f會先把目標文件(要被覆蓋的文件)刪掉,然后將源文件rename為目標文件名。

從內核代碼看,當運行一個二進制文件時

sys_execve()

  do_execve()

    open_exec()

      deny_write_access()

這里的deny_write_access會把文件對應inode的i_writecount成員減1,通常i_writecount的值就變成-1了(初始為0)

這時候再有進程想以寫模式open:

do_sys_open()

  do_filp_open()

    path_openat()

      do_last()

        nameidata_to_filp()

          __dentry_open()

            __get_file_write_access()

              get_write_access()

get_write_access會發現inode的i_writecount成員為負數了,所以直接返回 -ETXTBSY

標簽:綏化 常德 河源 濱州 江蘇 宿州 保山 亳州

巨人網絡通訊聲明:本文標題《linux使用cp報錯 Text file busy》,本文關鍵詞  linux,使用,報錯,Text,file,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux使用cp報錯 Text file busy》相關的同類信息!
  • 本頁收集關于linux使用cp報錯 Text file busy的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 南安市| 驻马店市| 吉林省| 上杭县| 宣恩县| 石渠县| 射洪县| 东兴市| 荔浦县| 兰西县| 南阳市| 思茅市| 清苑县| 威远县| 通化市| 沐川县| 绵竹市| 灵璧县| 商南县| 临西县| 衡南县| 贡觉县| 郁南县| 繁峙县| 达日县| 防城港市| 山阳县| 孟村| 普安县| 平乡县| 九寨沟县| 沅江市| 宣威市| 永兴县| 平罗县| 日土县| 惠东县| 海伦市| 宿州市| 牡丹江市| 浦县|