Need to run PHP script in the background while redirecting STDOUT and STDERR to a fil
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Need to run PHP script in the background while redirecting STDOUT and STDERR to a fil
I have been checking the advice here but I've been unable to determine how I might run my script in the background such that all script output (STDERR and STDOUT) ends up in a file. I've tried this:
Code:
php /path/to/script.php 2>&1 > /path/to/file.txt
This seems to result in the script running in the background, but file.txt remains empty and the script -- which is supposed to create some other files -- doesn't appear to do anything. I can see it listed when I do "ps -aux" but it doesn't seem to do any work.
Thanks for your response, but the command you offer does not run in the background -- I have to wait until it completes to do anything else.
I tried it with an ampersand (&) after it and that doesn't work either. The command returns instantly but almost immediately after (e.g., if i hit the return key), I get a notice that it has stopped:
Here is working as expected.
can you please post the full output and eventually try with another php script ?
(T in process state means stopped so it's not running)
Have you tried to issue a
That is not how my machine is behaving. My script will take approximately an hour to run. I believe one difference is that phpinfo returns almost immediately. Unfortunately, rather than running to completion, it STOPS:
And you only run your cat command once it has completed. My hope is that I might monitor file.txt during the length of a very long script. Perhaps you could try this php script as prova.php instead:
As soon as I hit <enter> or attempt any new command, I get the STOPPED notification. There still appears to be a process running though. I tried the above twice and so there are two instances of the process running:
(1) If you want to stop the background process i.e. script, then kill PIDs 19869, 19872, and 19884.
(2) In your command, reason of empty file is improper re-direction i.e. 2>&1 >:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.