Solène
2016-07-11 14:41:44 UTC
Hello,
I found a not coherent behaviour when overwriting a busy binary and I
would like an explanation on this.
When overwriting a busy binary file, without -f flag, cp won't copy the
file over the executable while mv will ask if you really want to
overwrite it.
When using -f, they act the same, the file get overwrited.
Example here :
***@example : cat test.c
#include <unistd.h>
int main() {
sleep(1000);
return 0;
}
***@example : clang test.c
***@example : ./a.out & <- I start the executable
[1] 83540
***@example : touch file
***@example : cp file a.out
cp: a.out: Text file busy <- cp don't agree
***@example : mv file a.out
override rwxr-xr-x solene/solene for a.out? (y/n [n]) y <--- mv asks
Kind regards
I found a not coherent behaviour when overwriting a busy binary and I
would like an explanation on this.
When overwriting a busy binary file, without -f flag, cp won't copy the
file over the executable while mv will ask if you really want to
overwrite it.
When using -f, they act the same, the file get overwrited.
Example here :
***@example : cat test.c
#include <unistd.h>
int main() {
sleep(1000);
return 0;
}
***@example : clang test.c
***@example : ./a.out & <- I start the executable
[1] 83540
***@example : touch file
***@example : cp file a.out
cp: a.out: Text file busy <- cp don't agree
***@example : mv file a.out
override rwxr-xr-x solene/solene for a.out? (y/n [n]) y <--- mv asks
Kind regards