Windows/DOS
From dbawiki
Contents
Kill processes by image name
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
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
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
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