5

I am automatically running a simple python program from start up using cron. The pi boots / automatically logs in, displays the command line and runs the python program but the print output (updating count) is not displayed.

The print output works fine if I run the program via idle (ie having enabled LXDE) and it also works fine if (without running the LXDE desktop) I manually run the program from the command line, e.g. sudo python pimon.py

What is needed to see the print output when I start the program using cron? I do not want to have to enable the LXDE desktop first.

The crontab entry is: @reboot python /home/pi/Python27/pimon.py

Ghanima
  • 15,855
  • 15
  • 61
  • 119
DONALD
  • 51
  • 1
  • 1
  • 2
  • Please show your crontab entry. – mazianni Apr 02 '15 at 17:26
  • 3
    Your script run by cron simply has no console to print its output too. The behaviour you describe is perfectly normal. Best way to work around: make your script output to a file. – Ghanima Apr 02 '15 at 17:29
  • 1
    Where have you told the output to go? A cron job is not started from a terminal so is not attached to a keyboard or screen. Perhaps you need to redirect the output to a file. – joan Apr 02 '15 at 17:29
  • See also: http://raspberrypi.stackexchange.com/questions/40493/log-output-of-system-script/40494#40494 – Ghanima Jan 06 '16 at 00:25

1 Answers1

4

As others have noted in the comments, you need to redirect the output from the command somewhere.

This will write to a file, overwriting the file if it already exists.

@reboot python /home/pi/Python27/pimon.py > /path/to/output_file.txt

Change > to >> if you want to append to an existing file.

Check this link for more information on standard input and output redirection.

Ghanima
  • 15,855
  • 15
  • 61
  • 119
mazianni
  • 231
  • 1
  • 6