JP Vossen on 2 Jul 2015 11:25:31 -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


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.

http://unxutils.sourceforge.net/
    https://en.wikipedia.org/wiki/UnxUtils
http://gnuwin32.sourceforge.net/
Related: http://www.jpsdomain.org/windows/winshell.html


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 <delrue.thomas@gmail.com
> <mailto:delrue.thomas@gmail.com>> 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
> (http://gnuwin32.sourceforge.net/packages/grep.htm and
> http://gnuwin32.sourceforge.net/), 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
> grep'.
> 
> 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
>> <delrue.thomas@gmail.com <mailto:delrue.thomas@gmail.com>> 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
>>> expected.
>>>>
>>>> On Thu, Jul 2, 2015 at 11:39 AM, Thomas Delrue
>>>> <delrue.thomas@gmail.com <mailto:delrue.thomas@gmail.com>> 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:
>>>>>>
>>>>>>
>>>>>
>>>
> stackoverflow.com/questions/707184/how-do-you-run-a-crontab-in-cygwin <http://stackoverflow.com/questions/707184/how-do-you-run-a-crontab-in-cygwin>
> -on-windows
>>>>>>
>>>>>>
>>>
> I don't have admin on my windows machine, I can't make it run as a
>>>>>> service
>>>>>>
>>>>>> 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.

Later,
JP
----------------------------|:::======|-------------------------------
JP Vossen, CISSP            |:::======|      http://bashcookbook.com/
My Account, My Opinions     |=========|      http://www.jpsdomain.org/
----------------------------|=========|-------------------------------
"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         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug