Fred Stluka on 2 Jul 2015 22:30:00 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] not entirely off topic, killing a windows process with cron using cygwin

Something to watch out for...

It's been a few years now, but last time I tried the Windows Scheduler
it would work fine for a few weeks or months, then suddenly stop
running the job.  I'd eventually notice and delete and recreate the
Windows job and it would work for a few weeks or months again,
then stop again.  Never did figure out why.  Moved to Mac, where
I can run Unix cron instead.  Cron has always worked fine on my
Linux boxes and Macs, reliably for year after year.

Fred Stluka -- --
Bristle Software, Inc -- -- Glad to be of service!
Open Source: Without walls and fences, we need no Windows or Gates.
On 7/2/15 4:16 PM, Walt Mankowski wrote:
It sounds like you've already worked out how to do this, but I'll add
this anyway.  If you wanted to test if cron works without a cygwin
terminal open, would this work?

1) open Mine Sweeper or Calculator
2) setup a cronjob to run a few minutes in the future and kill the
    thing you started in step 1
3) close cygwin terminal
4) wait and see if it runs and kills the process

On Thu, Jul 02, 2015 at 02:25:23PM -0400, JP Vossen wrote:
Don't forget, you do NOT always need Cygwin to get Unix/Linux tools on
Windows!  Cygwin is great, but the mish-mash of Unix+Windows always
makes my head hurt.

The Windows native stand-alone .EXE files of UnxUtils gave me most of
the power the TextUtils without the Cygwin complexity when I was still
stuck using Windows.  gnuwin32 are the next best, but have some DLL
dependencies.  Cygwin is a much fuller environment, but at a cost of
more complexity.

On 07/02/2015 12:26 PM, Michael Lazin wrote:
That's exactly what I did, I used the windows task manager to call
/bin/bash in cygwin to run taskkill /PID `tasklist | grep Agent | awk
'{print $3}'` /F"

It's messy but it does what I want.  I basically have to shut down a
program before I leave work every day so I have automated it shutting
down after I am gone because I keep forgetting.  I would rather automate
it and forget about it.

On Thu, Jul 2, 2015 at 12:21 PM, Thomas Delrue <
<>> wrote:

One thing I just realized, if you really need to run grep and other unix
executables in your script to figure out which PID to terminate, and
therefore really need Cygwin (although I doubt this); I'm pretty sure
that you can invoke cygwin from the Task Scheduler (thus solving the
scheduling problem) while passing as a parameter to cygwin, the script
to execute which will now have the ability to run grep and ls and awk.

Lastly, I remember that there is a grep for windows
( and, which was always one of the first
tools I deployed on any windows machine I took on.

There is also findstr which is like the 'not-so-bright windows cousin of

On 07/02/2015 11:54 AM, Michael Lazin wrote:
You're right, I hate windows and I really want to use grep, but it
seems that I can automate the running of  /bin/bash in the windows
task scheduler too.  Thank you.
On Thu, Jul 2, 2015 at 11:51 AM, Thomas Delrue
< <>> wrote:
I understand I'm pushing back against "doing this in Cygwin" but I
think that the 'native' windows solution is going to be easiest to
set up as well as maintain (e.g. remote maintenance, EventLog
integration, etc).

Task Scheduler is pretty easy: you can specify the command (which
can be an exe, batch file, ...), the 'user context' to run it in,
the time when to run and the frequency. It's all there with a
simple UI to do. This would eliminate the question of 'should
cygwin be running'.

On 07/02/2015 11:43 AM, Michael Lazin wrote:
I did use the taskkill command coupled with bash, I want it to
run at a certain time of day, that's why I'm using cron.  Cygwin
will let you mix windows and linux commands, I used awk and grep
to get the windows PID. It's pretty beautiful, I just need to
make sure that cron runs as
On Thu, Jul 2, 2015 at 11:39 AM, Thomas Delrue
< <>> wrote:

Here's a suggestion that doesn't require cygwin (or it being
open) $> taskkill /im something.exe /f

Taskkill /? will show you the different options including one
for specifying a PID

You can use a scheduled task to kick it off whenever you want
under whichever credentials you provide

On 07/02/2015 11:18 AM, Michael Lazin wrote:
I have a windows process that I should shut down every night.
I am more comfortable with bash than I am with windows
anything.  I used cygwin and a small bash one-liner to kill
my process.  I have tested my bash one liner and it does kill
said process, my question is, do I have to leave my cygwin
bash terminal open for cron to run my bash script?

I checked stack overflow and they say this: <>

I don't have admin on my windows machine, I can't make it run as a

I don't want to use the windows schedular, I want to use
bash dammit.

My question to the group is is anyone familiar enough with
cygwin to know if the cron function will work if I don't run
cygwin as a service, do I need my cygwin bash window to be
open for this to work?

I might try scheduling a task for tonight when I'm still here
to see if it succeeds, but I was just wondering if anyone has
experience scheduling with cron in cygwin.
JP Vossen, CISSP            |:::======|
My Account, My Opinions     |=========|
"Microsoft Tax" = the additional hardware & yearly fees for the add-on
software required to protect Windows from its own poorly designed and
implemented self, while the overhead incidentally flattens Moore's Law.
Philadelphia Linux Users Group         --
Announcements -
General Discussion  --

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --