Skip to main content

Introduction To Windows Services

Understanding windows service fundamentals
Overview :
Why develop windows services ?
1. Run even when no user is logged in
2. Start automatically on machine boot
3. Run as different users(inc. built in)
4. Start,stop,pause, resume services
5. Failure Policy (eg . auto start )
6. Manage from remote machines (eg stop)
Typical usecase of windows services :
1. File conversion (e.g. video / audio )
2. System intergration(file-ingenstion)
3. System integration (data transfer between systems)
4. Run web server (e.g owin self hosting)
5. Message queue processing (eg. MSMq)
6. Host remote Akka .Net Actor System
7. Host other services eg. Mail , Ftp etc.

SERVICE STARTUP MODES
1. Manual 2. Automatic 3. Automatic(Delayed Start ) 4. Disabled 5. Triggers

SERVICE LOG ON ACCOUNTS
1. Local system built in account
2. Local Service Account
3. Network Service Account
4. Local User custom Account
5. Domain User custom Account

SERVICE RECOVERY OPTIONS
1. Restart the service (after n minutes )
2. Take no action
3. Run a program
4. Restart the computer (after n minutes)
MULTILE RECOVERY OPTIONS
1. First failure 2 . Second failure 3. Subsequent failures
4. Reset failure after n days

SERVICE CONTROL MANAGER
Functions : 1. Maintaining database of all installed services . 2. Processing commands to start, stop, pause the installed services. 3. Query installed services and reporting service state
Service control app  will send the service control command to the service control manager, which inturn does the operation.
- use "sc help" to explore the service controlling options
TOPSHELF
1. Open source .NET Windows Service library
2. Makes it easier to create Windows Services
3. Developers can focus on service functionality not plumbing code
DEVELOPING WINDOWS SERVICE FROM SCRATCH
1. Create a Class which has the service logic. This class should have a method which describes operation when service starts and another method which has the logic to be performed when the service ends.



Comments

Popular posts from this blog

"Swift" from Programming Template

About Memory: 1. How do I get memory, i.e how are variables declared. Any specific facts and constrains about variables ? If type annotation like var Varb:Float ; is not used then it is mandatory to assign the initial value to the variable. "Var" keyword should get you the required memory. 2. How do we get the entry point for the program execution ? [ Example : main() in the C program ] Script based. There is no particular entry point. 3. How does dynamic memory handled ? Is it supported in first place ? Instances for the classes can be created. Automatic Reference counting mechanism has the strong reference to one of the variable. Till there is strong reference to the variable it'll be there in the memory. Once there is no strong reference it'll be de-initialized. [ Ref : https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html ] 4. What are the datatypes which are supported an...

Procedure to enable wireless LAN adapter in vmware!

I have went to find the way in which wlan in Kali Linux could be made listed my airmon-ng command. Most of the videos and posts suggested me that it is necessary to have another wi-fi adapter to have connected to wifi network. But this is not necessary. The procedure to do this is as follows: 1. Download this package in Virtual Machine(Kali linux) " http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2010-06-26-p.tar.bz2" 2.Unzip this package in terminal i.e navigate to place where you have downloaded this file , say desktop then type : cd Desktop for unzip type : tar -jxvf compat-wireless-2010-06-26-p.tar.bz2 3. Navigate into the uncompressed directory and type: i."make unload"  (only words within the quotes are the commands) ii."make load" Done!  now airmon-ng  should have the list of the required devices.

Python Crash Course : Part 1

HISTORY :  Written by Guido Van Rossum in 1980s, i.e Guido started writing Python in 1989 December. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community,  benevolent dictator for life  (BDFL). INSTALLING PYTHON :  The python interpreted which can be downloaded from website www.python.org (https://www.python.org/download/releases) CHECKING SUCCESSFUL INSTALL : Open command prompt. Type " assoc .py " , without quotes. That should return ".py=Python.File Cool ! Up and Running to write the scripts !