Windows/DOS
Contents
Kill processes by image name[edit]
Have a runaway process with hundreds or thousands of programs (eg: cmd.exe) all running and need to kill them all in one go?
taskkill /F /IM cmd.exe taskkill /F /IM bash.exe
How to force logoff a session on another server[edit]
Method 1 with the TSM GUI
- Launch Terminal Services Manager (in Administrative Tools)
- In the menu: Actions "Connect to Computer..."
- Enter name of server you want to get on to
- Right-click and logoff one of the displayed sessions
Method 2 with Command prompt
- Launch Windows (DOS) box
- Enter "query session /server:<servername>"
- Enter "logoff <ID> /server:<servername>"
Return the value of a function into a variable in DOS batch .bat file[edit]
What an awful language!
set NLS_LANG= @echo NLS_LANG has been cleared @FOR /F "usebackq delims=!" %%i IN (`sqlplus -s /nolog @set_NLS_LANG.sql`) DO @set NLS_LANG=%%i @echo NLS_LANG has been set to %NLS_LANG%
Create a Scheduled Task from the command line[edit]
This one is particularly interesting as I need to start a shell Cygwin shell script on a regular basis
As crontab is not implemented by default, I use the Windows Scheduler to start the jobs.
This one creates a task called dbamon_dblist tat runs a shell every 10 minutes starting at 9 am and going on for 24 hours (so, forever).
It is run a user different from the logged on user. The echo at the start is to answer N to the question "Task exists, do you want to replace it". For some reason that doesnt work too well :(
echo N|SCHTASKS /Create /SC MINUTE /MO 10 /TN dbamon_dblist /TR "c:\cygwin\bin\bash.exe -l -c /cygdrive/c/home/ibmtools/scripts/oracle/dbamon_dblist.ksh" /ST 09:00 /RU runasuser /RP runaspwd
Scheduled Task seems to do nothing. Runs but stops immediately[edit]
- Check task scheduler log
Advanced:View log ...
"Backup_archivelog_perl_NETTP_auto.job" (perl) Finished 1/9/2015 1:10:00 PM Result: The task completed with an exit code of (80). "dbamon_datapump.job" (bash.exe) Finished 1/9/2015 1:10:23 PM Result: The task completed with an exit code of (1).
- Check error code given
C:\ibmtools\scripts\oracle\perl>net helpmsg 80 The file exists. C:\ibmtools\scripts\oracle\perl>net helpmsg 1 Incorrect function.
Not very helpful on the part of Microsoft but the 80 error turned out to be a whole load of sqlplus.exe processes (100's) hanging around in the task manager
Killed them and jobs started running again.