精华内容
下载资源
问答
  • python – 需要一种方法来确定文件是否写入完成
    2020-12-04 08:51:25

    我所处的情况是这样的 – 有一个进程写入文件,有时文件相当大,比如400 – 500MB.我需要知道什么时候写完了.我怎么能确定这个?如果我查看目录,我会在那里看到它,但可能没有写完.此外,这需要远程完成 – 例如在同一个内部局域网上,而不是在同一台计算机上,通常想要知道文件写入完成的过程是在Linux机器上运行的,其中包含写入文件的进程和文件本身在Windows框中.没有桑巴不是一个选择.与该窗口框上的服务进行xmlrpc通信是一种选择,也可以使用snmp检查是否可行.

    理想的情况下

    >可在Linux或Windows上运行 – 这意味着该解决方案与操作系统无关.

    >适用于任何类型的文件.

    够好了:

    >仅适用于Windows,但可以通过某些库或任何可以通过Python访问的库来完成.

    >仅适用于PDF文件.

    当前最好的想法是定期从Windows框中的某个进程打开有问题的文件,并查看检查PDF结束标记的最后字节并考虑eol差异,因为该文件可能是在Linux或Windows上创建的.

    解决方法:

    您可以采取许多方法.我会尝试使用写访问权限打开该文件.如果成功则没有其他人写入该文件.

    如果您无法直接访问计算机之间的文件,请围绕此概念构建Web服务.

    标签:python,linux,file-io,windows,pdf

    更多相关内容
  • linux文件编程有两个方法:1、linux系统调用 2、C语言函数库前者依赖的是linux系统,后者独立于操作系统而存在,不依赖于任何操作系统,因此,在不同的操作用使用C语言函数库的方法是一样的。linux系统调用:创建...

    linux文件编程有两个方法:1、linux系统调用 2、C语言函数库

    前者依赖的是linux系统,后者独立于操作系统而存在,不依赖于任何操作系统,因此,在不同的操作用使用C语言函数库的方法是一样的。

    linux系统调用:

    创建文件使用creat函数

    函数原型:int creat(文件路径,创建模式)

    常见创建模式:

    S_IRUSR 文件可读

    S_IWUSR 文件可写

    S_IXUSR 文件可执行

    S_IRWXU 文件可读可写可执行

    也可以用数字来表示操作模式:1——可执行 2——可写 4——可读 0——无任何权限 6——可读可写

    打开文件使用open函数

    函数原型:int open(要打开的文件名包含路径,打开标志)

    int open(要打开的文件名包含路径,打开标志,文件访问权限)

    open函数成功打开一个文件后会返回一个文件描述符,打开失败则返回-1

    打开标志:

    O_RDONLY 以只读方式打开文件

    O_WRONLY 以只写方式打开文件

    O_RDWR 以读写方式打开文件

    O_CREAT 当要打开的文件不存在时,创建这个文件

    O_NONBLOCK 以无阻塞方式打开文件

    注意:当使用O_CREAT标志时,open 函数就需要使用第二个函数原型,即: int open(要打开的文件名包含路径,打开标志,文件访问权限) 第三个参数用于创建文件时设定文件的权限。

    关闭文件使用close函数

    函数原型:int close(文件描述符)

    读取文件内容使用read函数

    函数原型:int read(文件描述符,存放数据的缓冲区,读取数据的字节数)

    read函数会从文件描述符指向的文件中读取指定的字节数,并存放在缓冲区中

    判断文件的访问权限用access函数

    函数原型:int access(文件路径,模式)

    模式:R_OK 判断文件是否可读

    W_OK 判断文件是否可写

    F_OK 判断文件是否存在

    X_OK 判断文件是否可执行

    当判断成功时,函数返回0,不成功时返回-1

    1 #include

    2 #include

    3 #include

    4 #include

    5 #include

    6 #include

    7 #include

    8 #define FIFE "/home/book/c_code/test_fife"

    9

    10 int main(int argc,char **argv)

    11 {

    12 int fd; //文件描述符

    13 char buf[40]; //缓冲区

    14

    15 memset(buf,0,sizeof(buf));

    16

    17 if (access(FIFE,F_OK)!=0) {

    18 creat(FIFE,0666);

    19 }

    20

    21 fd = open(FIFE,O_RDWR); //打开文件

    22 write(fd,"hello world",12); //写数据

    23 close(fd);

    24 fd = open(FIFE,O_RDWR);

    25 read(fd,buf,12); //读数据

    26

    27 printf("read %s from fife\n",buf);

    28

    29 return 0;

    30 }

    运行效果

    a3a1cbc1420aad014b857b041ebe7604.png

    注意:在write函数后必须关闭文件描述符,再使用read函数。如果在写函数后直接使用读函数,将不会读取到数据。

    62ff6a0222d4e044a3d9b3bfedc61843.png

    de638df49f1d5a3342eecff86bcb011e.png

    yohe12

    发布了17 篇原创文章 · 获赞 0 · 访问量 1170

    私信

    关注

    标签:文件,include,函数,int,编程,linux,打开,open,读取

    来源: https://blog.csdn.net/yohe12/article/details/104124621

    展开全文
  • How to detect whether a file is being written by any ... 如何检测Linux是否有其他进程正在写入文件? Before a program open a file to processes it, it wants to ensure no other processes are writing t...

    How to detect whether a file is being written by any other process in Linux?

    如何检测Linux中是否有其他进程正在写入文件?

    Before a program open a file to processes it, it wants to ensure no other processes are writing to it. Here, we are sure after the files are written and closed, they will not be written any more. Hence, one-time checking will be good enough.

    在程序打开文件进行处理之前,它要确保没有其他进程正在写入该文件。 在这里,我们确定在写入和关闭文件之后,它们将不再被写入。 因此,一次检查就足够了。

    You may not know whether the file is being written. However, you may use lsof to check whether the file is opened by any other processes. Programs like cp will close the file after the work is done. So you may bet on it for most situations.

    您可能不知道是否正在写入文件。 但是,您可以使用lsof来检查文件是否被其他进程打开。 诸如cp程序将在工作完成后关闭文件。 因此,在大多数情况下,您都可以下注。

    For a file without any other process opening it:

    对于没有其他任何打开过程的文件:

    $ lsof -f -- ~/.bashrc

    With one process openning for reading:

    随着一个过程的开放阅读:

    $ lsof -f -- ~/.bashrcCOMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
    less    14558  zma    4r   REG  253,3     1356 27787271 /home/zma/.bashrc
    

    With one process openning for writing:

    随着一个开放的写作过程:

    $ lsof -f -- ~/.bashrc
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
    vim     14840  zma   10w   REG  253,3     1355 27787271 /home/zma/.bashrc
    Answered by Eric Z Ma.
    埃里克·马(Eric Z Ma)回答。

    翻译自: https://www.systutorials.com/how-to-detect-whether-a-file-is-being-written-by-any-other-process-in-linux/

    展开全文
  • /*** 等待文件(非目录)读写完毕,费时的操作,不要放在主线程** @param file 文件*/private void waitForWirtenCompleted(File file) {if (!file.exists())return;long old_length;do {old_length = file.length();...

    /**

    * 等待文件(非目录)读写完毕,费时的操作,不要放在主线程

    *

    * @param file 文件

    */

    private void waitForWirtenCompleted(File file) {

    if (!file.exists())

    return;

    long old_length;

    do {

    old_length = file.length();

    try {

    Thread.sleep(3000);

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    Log.i("waitForWirtenCompleted: ", old_length + " " + file.length());

    } while (old_length != file.length());

    }

    判断文件长度的方法不适用于粘贴复制程度的判断,粘贴复制一般file.length()时固定的不会有写入写出。

    Python 判断文件是否存在,不存在则将名称写入指定文件

    import os filename = '15464657761111111.pdf' pathDir = 'F:/tqcs/sr' # 判断文件是否存在 if os.path.exists(pat ...

    C语言中如何判断文件是否存在

    方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文件:io.h filename:可以填写 ...

    java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

    Android从网络某个地址下载文件、写入SD卡

    首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //url ...

    Linux中用st_mode判断文件类型

    Linux中用st_mode判断文件类型 2012-12-11 12:41 14214人阅读 评论(4) 收藏 举报  分类: Linux(8)  C/C++(20)  版权声明:本文为博主原创文章, ...

    Android 下载文件及写入SD卡

    Android 下载文件及写入SD卡,实例代码 <?xml  version="1.0" encoding="utf-8"?>

    Java学习-022-Properties 文件数据写入

    Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...

    C&num;判断文件及文件夹是否存在并创建&lpar;C&num;判断文件夹存在&rpar;

    protected void Button1_Click(object sender, EventArgs e) { if (Directory.Exists(Server.MapPath(&quot ...

    Delphi判断文件是否正在被使用(CreateFile也可以只是为了读取数据,而不是创建)

    首先,我们先来认识下CreateFile函数,它的原型如下   HANDLE CreateFile( LPCTSTR lpFileName,    //指向文件名的指针 DWORD dwDesired ...

    随机推荐

    POJ 3294 二分找超过一半字符串中存在的子串

    题目大意: 给定n个字符串,求出现在不小于k/2个字符串中的最长子串. 二分找对应子串长度的答案,将所有字符串链接成一个长字符串求后缀数组,记录每一个位置本属于第几个字符串,利用height查询的时候 ...

    深入理解CSS浮动

    × 目录 [1]定义 [2]特性 [3]表现 [4]重叠 前面的话 浮动最早的使用是出自#,用于 ...

    easyui-textbox 和 easyui-validatebox 设置值和获取值

    表单作如下定义:该input使用easyui的"easyui-textbox"

    展开全文
  • 我创建了一个文件,并且拥有它:opuser@mymachine: $ls -lash /webapps/myapp/run/gunicorn.sock0 srwxrwxrwx 1 opuser webapps 0 Sep 1 18:50 /webapps/myapp/run/gunicorn.sock现在,如果我尝试打开文件进行写入:...
  • Linux中输出命令可以做很多事情...在这篇简短的文章中,我将向您展示一个简单但有用的命令行技巧:如何在屏幕上查看命令的输出以及在Linux写入文件。linuxidc@linuxidc:/opt/etherpad$ df文件系统 ...
  • 重点是我需要编写一个python脚本,它将检测到连接的U盘并向其写入一个文件。我使用opensuse(但是scriptshoild可以用于任何linux发行版。理想情况下)。当前版本可以检测usb并在安装usb时写入文件。但在我的机器上,...
  • Linux下用C语言实现文件写入

    万次阅读 2018-07-11 18:49:53
    C语言自带的文件写入机制是非常不错的选择我们可以通过一下代码来轻松完成文件的写入C语言中对文件操作的标准库函数以下所示: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的...
  • 如果缓冲是由C库完成的,那么您可以使用LD_PRELOAD来禁用缓冲.假设程序使用fopen()打开其日志文件,您可以执行以下操作:#define _GNU_SOURCE 1#include #include static FILE* (*libc_fopen)(char const *, char ...
  • linux检查目录文件是否存在不存在则创建,并写入相关配置 #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <unistd.h> #include <string.h> #include&...
  • linux-读取/写入C中的二进制文件有没有人有可以写入二进制文件的代码示例。 还有可以读取二进制文件并输出到屏幕的代码。 看例子,我可以写文件了,但是当我尝试从文件中读取文件时,它不能正确输出。4个解决方案86 ...
  • 1. 清空文件内容 echo "" > "$work_path/upload.config" cat /dev/null > $Off_upgrade_conf 2. 查看文件(多少行) head -n 1 $work_path/upload.... 写入数据到文件 echo "$host_do" >> "$work_path/upload.config
  • linux日志文件写入失败

    千次阅读 2020-02-13 11:12:49
    1. 日志文件写入失败,尤其是之前一直写的正确, 但最近写入失败,问题原因肯有可能是linux挂载磁盘满了使用df-h 查看 2. 删除过大文件, 进入目录 使用 du -sh *查看文件夹以及...4. 检查文件写入是否可以正常 ...
  • 并非基于Linux的操作系统上的所有文件夹都可写入用户,系统级文件夹需要高级权限,这些权限的问题在于,它通常会锁定用户级访问权限,因此,如果你尝试将文件放在系统目录中并且无法进行,则需要了解如何更改权限以...
  • 报错如"/etc/ssh/sshd_config" E212: 无法打开并写入文件。问题思考既然提示没有权限,又是root用户,看肯定是给该文件设置了特殊的权限。检查特殊权限设置:·getfacl·lsattrgetfacl 结果正常root@pts/1$ getfacl ...
  • Linux监控文件读写

    千次阅读 2019-07-25 17:18:34
    前言 最近想写deepin编程比赛中的文件管控系统。 如何去监测目标文件, 我思考了很久仍没有...下面讲解一下我下午尝试的read检测功能。 正文 废话不多说, 先贴代码。 #include <stdio.h> #include <string...
  • linux c语言判断文件是否存在

    千次阅读 2020-08-29 14:14:33
    检查调用进程是否可以对指定的文件执行某种操作。 用法: #include <unistd.h> #include <fcntl.h> int access(const char *pathname, int mode); 参数: pathname: 需要测试的文件路径名。 ...
  • 报错如”/etc/ssh/sshd_config” E212: 无法打开并写入文件。 问题思考 既然提示没有权限,又是root用户,看肯定是给该文件设置了特殊的权限。检查特殊权限设置: getfacl lsattr getfacl 结果正常 root@pts/1 $...
  • 现如今深度学习日益变得火爆,最明显的地方就是深度学习的训练平台变得日益众多,例如Google的conlab 百度的paddlepaddle的框架平台,但是大气多数平台的操作系统均为Linux系统,因此掌握基本的Linux系统知识必不可...
  • E212:无法打开并写入文件

    千次阅读 2021-05-11 07:48:22
    【转】linux 设置用户id 设置组idlinux 设置用户id 设置组id 转自linux 设置用户id 设置组id 最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个 ...初始化成员列表 ———...
  • fuser功能fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息.fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访问类型。...
  • linux 使用dd命令 写入镜像文件到u盘

    千次阅读 2020-04-28 10:43:41
    1、使用 df -h ,查看一下当前各个磁盘 user@host ~/ $ df -h Filesystem Size Used Avail Use% ... 5、当刻录结束后,运行: sync 该命令是检查一下,刻录是否运行完毕,当sync结束后,就可以安全的拔出u盘了。
  • C语言中如何判断文件是否...所属头文件:io.hfilename:可以填写文件夹路径或者文件路径mode:0 (F_OK) 只判断是否存在2 (R_OK) 判断写入权限4 (W_OK) 判断读取权限6 (X_OK) 判断执行权限用于判断文件夹是否存在的...
  • 详解Linux文件锁flock

    2021-01-10 20:12:52
    一个进程使用flock将文件锁住,另一个进程可以直接操作正在被锁的文件,修改文件中的数据,原因在于flock只是用于检测文件是否被加锁,针对文件已经被加锁,另一个进程写入数据的情况,内核不会阻止这个进程的写入...
  • linux下备份文件,linux备份文件命令

    千次阅读 2021-05-16 02:15:55
    linux备份文件命令1.cp命令cp[功能说明]文件的备份英文xxxx #cp命令将源文件复制到另外安全的地方,复制的文件和源文件是两个相互独立的文件,对认识一个文件的操作不影响另一个文件,但与符号链接文件中的硬链接是...
  • linux检测目录下文件变化

    千次阅读 2017-10-18 18:09:08
    当摄像头动态检测变化后会保存一段时间视频画面并写入到某个目录下,而我需要提供一个api去获取是否有新文件生成。经过查阅网友分享得知,在Linux 2.6.13内核中引入inotify接口用于检测文件及目录变化。本文
  • 最近在学习linux的shell编程,由于在初级阶段,所以把平时写的些练习代码记录下来,也和大家共享下,希望和大家day day up,哈哈,这句中国式英语相信读者能明白吧,今天这个代码比前面的2次的稍微长点,功能还是比较...
  • 这个是data里的数据库文件,一般这个情况就是里面的数据库文件设为“只读”了!common.inc.php这个文件。解决方法:修改common.inc.php文件权限为777.
  • linux_文件输入输出重定向/shell写入多行文本到文件中/cat 操作文件 references Unix / Linux - Shell Input/Output Redirections (tutorialspoint.com) sheet Redirection Commands Following is a complete list...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 238,402
精华内容 95,360
关键字:

linux 检测文件是否写入完成