I need a way to make a process keep a certain file open forever. Here’s an example of what I have so far:
sleep 1000 > myfile &
It works for a thousand seconds, but really don’t want to make some complicated sleep/loop statement. This post suggested that cat is the same thing as sleep for infinite. So I tried this:
cat > myfile &
It almost looks like a mistake doesn’t it? It seemed to work from the command line, but in a script the file connection did not stay open. Any other ideas?
The reason that
cat>myfile&works is because it re-directs standard input into a file.if you launch it with an ampersand (in background), it won’t get ANY input, including end-of-file, which means it will forever wait and print nothing to the output file.
You can get an equivalent effect, except WITHOUT dependency on standard input (the latter is what makes it not work in your script), with this command: