output warning for cygwin process running at setup__.exe

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Mon Mar 19 08:53:00 GMT 2018


On 2018-03-18 22:56, Tatsuro MATSUOKA wrote:
>  On 2018-03-18 20:56, Andrey Repin wrote:
>>>>>>> On cygwin setup, one has to kill cygwin process to execute
>>>>>>> autorebase in the end of setup process. I think it is better to
>>>>>>> output warning at start stage setup if cygwin process running.

>>>>> Sorry for my inadequate description. At postinstall stage, cygwin
>>>>> setup execute /etc/postinstall/0p_000_autorebase.dash, this sometimes
>>>>> fails when Cygwin process(es) is(are) alive. According to
>>>>> http://cygwin.wikia.com/wiki/Rebaseall, we have to kill or stop
>>>>> cygwin processes and services before rebase. This is why I propose
>>>>> that warning messages in pre-install stage in cygwin setup.

>>>>  Sounds about right.
>>>> If there's an existing Cygwin install, it is possible to run ps.exe and
>>>> see if it find any running Cygwin processes before attempting an
>>>> update.

>>> If there's not an existing Cygwin install, you don't really have to worry
>>> too much about Cygwin processes running. ;^>

>> Yes.

>>> The docs all recommend killing all Cygwin processes *before* running
>>> setup, as setup can not replace running exes and active dlls during the
>>> installation phase, before postinstall rebase of replaced dlls.

>>> If setup can not replace any exe or dll, it warns you have to restart
>>> your system to complete the replacement. After the restart, you then have
>>> to rerun setup with no Cygwin processes running to successfully rebase
>>> replaced dlls.

>> The problem is, not all packages are prepared to deal with locked shared 
>> objects (in truth, none are). Which may leave system in an inconsistent
>> state even after reboot.

Cygwin setup uses standard Windows wininit processing to perform the
replacements on restart.

> Server service like cygserver always start after windows re-start if it is
> registered. So restart does not always kill cygwin processes. I do not want
> to force to  kill cygwin process by setupXX.exe but output the warning.
Only if a service is registered for Automatic startup: you can change this to
Manual, and restart services in a permanent last postinstall script prefix e.g.
zp_zzz_services.dash, which can also be executed by a scheduled task, before
starting Cygwin from e.g. a XWin Server taskbar or Start Menu shortcut.

Cygwin setup could operate more consistently and transparently if setup warned,
then shutdown running Cygwin services and noted them, and killed all remaining
processes, before beginning the install phase, then restarted previously noted
running services after the postinstall phase.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
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