Sponsored Content
Top Forums Programming How to prevent a C++ program reading a file that is still being written to.? Post 302907174 by achenle on Thursday 26th of June 2014 11:50:58 AM
Old 06-26-2014
The only way to know the file has been completely written is to have the writing process signal success in some way. Because only the writing process knows if it has successfully written all the data supposed to be in the file. The receiving process can not infer that accurately because of failure conditions, so any method based on timestamps or something similar can not be guaranteed to work.

Period.

Renaming the file is probably the best way to do that.

There are some kludges you can use on Solaris using the utssys() call that will return the process IDs of process that have any file open, but that will just tell you the file is open and won't tell you why the process has the file open, nor why it closed it. Look at the "sys/utssys.h" header file.

If you can find the source code for the Solaris "fuser" utility, you can see an example of how to use it.

Or you can run the "fuser" utility in a subprocess using system() or popen().
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

File being used/written

Hello, Which command in unix can tell whether a file is being used/written by another process. e.g. If one process is copying a very big file in some directory and there is another cronjob process which checks for a new file and in this directory and process the file. I want to check, if the... (4 Replies)
Discussion started by: sanjay92
4 Replies

2. UNIX for Dummies Questions & Answers

reading filenames inside a program

UNIX Sun Ultra60 5.5.1 Hello everybody, I have a problem that seems simple but turns out to be complex (for me at least). My program needs to open a directory (this part is easy), scan each filename and determine whether or not a file with the suffix (.07) exists. So the program would return... (5 Replies)
Discussion started by: j_t_kim
5 Replies

3. Programming

How to clear the content of a pipe (STDIN) after it is written to another program?

PROGRAM A <-> PROGRAM B PROGRAM A sends data as STDIN ro PROGRAM B and when PROGRAM B is executed from PROGRAM A, it sends output back to PROGRAM A. This is implemented using 2 pipes (fd1 & fd2). The above process happens in a loop and during the second run, the previous data that had been... (10 Replies)
Discussion started by: vvaidyan
10 Replies

4. Shell Programming and Scripting

How to prevent the pattern "^[[0m" from being written to a file ????

Hi folks, I am using a shell script to display the referred libraries names of any specified cpp code. Given below is the script: shell script "grblib" ------------------------------------------------------------------------- #!/bin/sh # get the lines having "include" pattern ... (5 Replies)
Discussion started by: frozensmilz
5 Replies

5. Shell Programming and Scripting

prevent errors/warnings from being written to log file

i have this script which works fine but shows errors when it runs..these are more like warnings and the script runs fine.. i am on a sun machine.. i know it writes all the error messages to a master log file.. is there any way i can turn off these warnings/error messages and prevent them from being... (2 Replies)
Discussion started by: npatwardhan
2 Replies

6. Linux

Reading ELF file Symbol table of C++ program

Folks, I have some program(Test.cpp) as follows, #include<iostream> class Abc { private: int _theVar; public : int printVar(); }; int Abc :: printVar() { _theVar=10; } main() { Abc _t; (0 Replies)
Discussion started by: vinod_chitrali
0 Replies

7. Programming

Reading ELF file Symbol table of C++ program

Folks, I have some program(Test.cpp) as follows, #include<iostream> class Abc { private: int _theVar; public : int printVar(); }; int Abc :: printVar() { _theVar=10; } main() { Abc _t; (2 Replies)
Discussion started by: vinod_chitrali
2 Replies

8. Shell Programming and Scripting

Reading from a file a background program writes to

Hi! #!/usr/bin/env bash rm tmpcomm nc -v -u -l 444 | hexdump -b > tmpcomm while : do read l1 < tmpcomm read l2 < tmpcomm read l3 < tmpcomm read l4 < tmpcomm # do something doneI start netcat in the background and listen for an incoming conncetion. All incoming... (1 Reply)
Discussion started by: torax123
1 Replies

9. Programming

Reading long options in C++ program

I am reading arguments passed to a C++ program which accepts long options. Long options start with '--', with the value joined with the option by an = sign, with no intervening spaces. An example is as follows: programName --vdz=15.0 I want to store 'vdz' in variable 'key', whereas... (4 Replies)
Discussion started by: kristinu
4 Replies

10. Programming

Debugging a program written in two languages

Subject: Debugging a program written in two languages Platform: Linux (Kubuntu) I am trying to debug a C application with bindings to some simple functions written in Ada using the GNAT Programming Studio IDE (GPS). The main entry point is in C. The debugger is gdb. I managed to compile... (0 Replies)
Discussion started by: NiGHTS
0 Replies
OCSIGEN(1)						      General Commands Manual							OCSIGEN(1)

NAME
ocsigen - Web Development framework in OCaml SYNOPSIS
ocsigen [options] DESCRIPTION
ocsigen is a programming framework providing a new way to create dynamic web sites. Its goal is to offer an alternative to Apache/PHP, based on cutting-edge technologies coming from research in programming languages. With ocsigen, you program in a concise and modular way, with a strong type system which helps you to produce valid xhtml. The server handles sessions, URLs, and page parameters automatically. OPTIONS
-c, --config Alternate configuration file. -d, --daemon Daemon mode (detach the process). This is the default when there are more than 1 process. -help, --help Show summary of options. -p, --pidfile Specify a file where to write the PIDs of the servers. -s, --silent Silent mode (error messages go in errors.log only). -v, --verbose Verbose mode. -V , --veryverbose Very verbose mode (debug). -version Show version of program. SEE ALSO
ocamlc(1). AUTHOR
ocsigen was written by Vincent Balat <vincent.balat@pps.jussieu.fr>. This manual page was written by Samuel Mimram <smimram@debian.org>, for the Debian project (but may be used by others). 2006-09-14 OCSIGEN(1)
All times are GMT -4. The time now is 05:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy