delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/07/10/21:04:23

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3D2CD988.5040807@N.O.S.P.A.M.cip.wiwi.uni-karlsruhe.de>
Date: Thu, 11 Jul 2002 03:04:08 +0200
From: Huijing Zhou <hj AT N DOT O DOT S DOT P DOT A DOT M DOT cip DOT wiwi DOT uni-karlsruhe DOT de>
Organization: University of Karlsruhe
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0rc3) Gecko/20020523
X-Accept-Language: en
MIME-Version: 1.0
To: Dave <dave AT shadowxj5 DOT co DOT uk>
Cc: cygwin AT cygwin DOT com
Subject: Re: Running Cygwin as a serivce and automatically executing a script
References: <PLEJLIGIHALGICIBKJIKMEFBCBAA DOT dave AT shadowxj5 DOT co DOT uk>

> I want to run Cygwin as a service on Windows 2000 Professional with service
> pack 2 and get Cygwin to automatically run a script (in this instance a Perl
> script).

What you means is, you want to run *bash* as a service, not cygwin. 
Since when we say cygwin, we either mean the cygwin1.dll, or the whole 
cygwin platform.

 > [...]
 >
> The batch files contains:
> 
> C:
> chdir C:\cygwin\bin
> bash --login -i
> CD ~
> CD mydir
> perl myperl.pl

The batch file is plainly wrong. Even if "bash --login -i" would succeed 
(which does not, as you later describe), the batch would hang here since 
bash is waiting for input and not getting any. "CD ~" will not be 
executed at all since it's actually outside bash. This means even if 
"bash --login -i" would time out (it definitely *does not*), "CD ~" and 
the other two lines after it will be executed in Windows command 
interpreter environment as a Windows command and not in bash, where "CD 
~" would fail since Windows does not know about "~".

> When I run the batch file normally it gets as far as opening the bash, using
> the currently logged in user (which happens to be administrator).

Exactly. bash opened and no further.

And if you want a "fake service" (like here) to run, test it first as 
normal programme (which you did, but without success). If the batch file 
fails "normally", how could it work as a service?

> When run as a service (with or without the service set to run as
> administrator) it loads the bash, but the bash reports it cannot find the
> /tmp dir. And it stops execution.

Where did you get this "report" by bash if the batch runs as a service 
(non-interactive and non-visible)? How does the exact wording of this 
report look like?

> In both instance the script is not loaded.

Well, more than one issue stands in its way.

> [...]
> 
> The reason I wish to run it as a service is to hide the Cygwin window, as I
> use the machine its on for many other things and having the bash window on
> the taskbar is a pain, as its not actually doing anything, once the script
> has been run.

Wrong. Either you want the script to run *once* when the system starts 
up (as you stated before), *before* the first user logs in. Or you want 
the script to run every time a user logs in. In first case you need to 
run it as a service, in second case run it in "Startup" folder or so. In 
a third case, if you want to run the script, say, daily, you may want to 
use Windows' "Scheduled Tasks".

> If there is another way to load a script automatically and hide the Cygwin
> window, I am all ears.

Besides the question of when to call the script, I think what you need 
first is to call bash correctly to start the script, something like:

bash -c perl myperl.pl

In any case, do not use "bash -i" which means "interactive" because you 
actually do not want to interact with bash here. In case you don't know, 
type "man bash" will give you a documentation about the bash shell.

Regards,

Huijing

-- 
Huijing Zhou <hj AT N DOT O DOT S DOT P DOT A DOT M DOT cip DOT wiwi DOT uni-karlsruhe DOT de>
CIP Computer Lab, Faculty of Economics
University of Karlsruhe, Germany
http://www2.wiwi.uni-karlsruhe.de


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019