Can't Run Excel From A Cron Job Under Windows 7

Kertz, Denis (D)** CTR ** d.kertz@alcatel-lucent.com
Wed Nov 12 16:20:00 GMT 2014


>> An excel program is run like this:
>
>>         run.excel  'c:\Shared\Bin\Create_Daily_Scorecard.xls'
>
>> When I run an Excel program interactively with this run.excel script it
>> runs just fine but when I run it via a cron job Excel just hangs.
>
> Define "runs fine" please?
> What exactly that excel script is doing?

This run.excel script simply starts up Excel with the .xls file it is given.  In this example Excel opens c:\Shared\Bin\Create_Daily_Scorecard.xls.  This .xls has a Workbook_Open macro, which is automatically run whenever this .xls is opened, that reads some data files and creates another .xls as its output.

What I mean by runs fine is that when I type this command at a bash prompt:
	run.excel  'c:\Shared\Bin\Create_Daily_Scorecard.xls'
it runs to completion and creates a new .xls as its output.  When I run this run.excel script from a cron job it hangs.

>> When Excel hangs I can look at the processes running on the PC using the
>> Windows Task Manager and I don't see the EXCEL.EXE process.  But when I
>> check the option to show processes from all users I see the hung EXCEL.EXE
>> process, AND the user name displayed is my login.  So I am running this under the
>> Upar2 login and Task Manager doesn't display EXCEL.EXE as a Upar2 process
>> but when I check 'Show processes from all users' it shows EXCEL.EXE running
>> under user name Upar2 - a contradiction.
>
> Task manager display processes started in your current session.
> Not processes started under your credentials. That's an important difference.

Then this is just a difference between WinXP and Win7?  Under WinXP it shows EXCEL.EXE in my process list even when the "Show processes from all users" isn't checked.

>> What I suspect is happening is Excel is attempting to do something that
>> requires Upar2 permission but it isn't really running as Upar2 so Excel
>> displays some error message and is waiting for the user to respond.  But
>> Excel is running invisibly so this can't be seen.
>
> More like you expect to run Excel interactively from service.
> Not possible. Period.

I'm not trying to run Excel interactively from a cron job.  One of the limitations with using Excel from a cron job is Excel has to run error free.  If Excel does run into some error it will typically generate an error message and wait for a user response.  Since Excel is running invisibly from a cron job, there is no user to give a response and Excel just sits there waiting for a response that will never come.

>> I also suspect this Upar2 "confusion" isn't limited to running an Excel
>> program.  I can run a cron job with regular UNIX commands (cut, sort, etc)
>> and see they are running with the ps command.  But when I try to kill them
>> (kill -9) I get permission denied.  If I want to kill a process running via
>> the cron I have to start cygwin with 'Run as administrator' and then I can
>> kill processes running under the cron.
>
> Of course.

Why "of course"?  Shouldn't I be able to kill my own processes?  I can certainly do that under WinXP.  But this isn't a major issue for me.  I only pointed it out in case it was related to the issue why my Excel cron jobs hang.

--
> WBR,
> Andrey Repin (anrdaemon@yandex.ru) 11.11.2014, <22:14>
>
> Sorry for my terrible english...

Nothing wrong with your English...

Denis


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list