Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Is there any way to know if a particular file is open/in use/locked by another application/process?
Tusharh last edited by
I want to know if a file is in use in another application. I tried to look around QFile, QProcess but there seems no way to find out. I am trying to do some text file manipulation which is used constantly by many applications. Before doing anything I would like to know if it's in use/open/locked by other app.
Do you want to lock the file before using it?
In this case you can use http://doc.qt.io/qt-5/qlockfile.html
To add to @jsulm's excellent suggestion, you should tell what OS you're intending on using this on, and what are these "many applications". Are these applications written by you, are they using Qt?
the_ last edited by
As long as the other (external) application / process locks the file you want to access, the solution @jsulm suggested will work.
Such a strong word ... it depends on the advisory locking mechanism used and most linux-es will support more than one. As duly noted in the documentation it's only guaranteed to work if the same scheme is used across all processes:
Serialization is only guaranteed if all processes that access the shared resource use QLockFile, with the same file path.