P:\test>perl -e"system 'net stop mysql'"
The MySQL service is stopping.
The MySQL service was stopped successfully.
P:\test>perl -e"system 'net start mysql'"
The MySQL service is starting.
The MySQL service was started successfully.
Update: As a footnote. The NET STOP command is documented to take care of stopping and starting dependant services:
The syntax of this command is:
NET STOP
service
NET STOP stops Windows services.
Stopping a service cancels any network connections the service is
using. Also, some services are dependent on others. Stopping one
service can stop others.
Some services cannot be stopped.
service May be one of the following services:
ALERTER
BROWSER
CLIENT SERVICE FOR NETWARE
CLIPBOOK
DHCP CLIENT
FILE REPLICATION
MESSENGER
NET LOGON
NT LM SECURITY SUPPORT PROVIDER
REMOTE ACCESS CONNECTION MANAGER
ROUTING AND REMOTE ACCESS
RPCLOCATOR
SCHEDULE
SERVER
SPOOLER
TCP/IP NETBIOS HELPER SERVICE
UPS
WORKSTATION
NET STOP can also stop services not provided with Windows.
The 3rd paragraph is the relevant one. See the MS docs for what determines whether a service is stoppable or not and what constitutes dependance.
There seems very little logic in trying to re-create the logic built into these system commands when they are readily usable from Perl?
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
|