Stop a Schedule a Process Manually


#1

Hi,

I schedule any UiPath process by using a Windows Task Scheduler and its work fine. The problem is when i want to stop the execution of the UiPath process don’t work and the process continuous working.

Someone now what is the problem or one way to stop?

Tanks,


#2

May I askhow are you trying to stop?

You may try taskkill /im uipath.exe


#3

I stop the task on the Windows Task Scheduler and the task ends, but the process still remain running.


#4

Hey @ruisrodr

You can use following command by usiing “Invoke Power Shell” and pass this:

taskkill /F /Im uirobot.exe
or
taskkill /F /Im uistudio.exe

or
To kill a scheduled task by using following command:

schtasks /End [/S <system> [/U <username> [/P [<password>]]]] /TN taskname

Regards…!!
Aksh


#5

Its work fine with taskkill /F /Im uirobot.exe.

Thanks,
Best Regard,
Rui.


#6

Need to kill manually started job.I think force stop stops the service also.Below works, looking for better alternatives.

taskkill /Im uirobot.exe


#7

Hey @vvaidya

Well what version you are using?
Well i guess you are also using the Version 18.1
So with the latest version from my perspective and i have checked as well

above command is not able to kill a UiRobot service and its chiild processes which are running under user sessions.
but on the other hand if you will use taskkill /F /Im uirobot.exe.
you will be see that it killed all the running process including parent Uirobot process.

Well there is difference between /Im and /F parameter is
/Im - It send the WM_Quit message to the specified process.

/F - It send the WM_Close message to the specific process.

Difference B/W WM_QUIT and WM_CLOSE

WM_QUIT - Indicates a request to terminate an application, and is generated when the application calls the PostQuitMessage function. This message causes the GetMessage function to return zero.

WM_CLOSE - Sent as a signal that a window or an application should terminate.

A window receives this message through its WindowProc function.

accepted

Most likely taskkill /f uses TerminateProcess, where as taskkill without /f just posts a WM_QUIT message (not WM_CLOSE). The docs says that TerminateProcess unconditionally kills the process.

You can try following experiments:

-> Launch notepad.exe and type a few chars in the notpad window type taskkill /f /im notepad.exe. Notepad will quit immediately

Now do this:

-> Launch notepad.exe and type a few chars in the notpad window type taskkill /im notepad.exe. Notepad won’t quit immediately but it will quit ask if you want to save modifiactions.

so in uipath why it is not killling might be it is waiting for the update of postquit message but if you will kill by /Im it is waiting for someconfirmation in the background.

but on the other hand by using /F the case is different as mentioned reason above.

or you can try to terminate the child process as well by using below command.

Taskkill /Im UiRobot.exe /T

will kill all child process of uirobot even under user session as well.

image

and most Important if you will kill a process on uipath studio start it will run again in the background. and even without that it will get automatically start what i have observed.
Still waiting for some more time to see this under the hood.

Regards…!!
Aksh


#8

Thanks Akshay. I have not tried in 2018.1 yet, I will try today and get back to you. I wanted something within the Orchestrator, I suggested something in the past, probably they are still considering.


#9

Kill specific process: (probably might be helpful for HD environment)

taskkill /F /FI "WINDOWTITLE eq RobotName"

image


#10

But this will be totally depend on the window title name of space or some other character will be there then might create a prob. same kinda selector approach i guess :slight_smile:

Or

Better to go with powershell command:

Get-Process | Where-Object { $_.MainWindowTitle -like '*your title name' } | Stop-Process

By the way TaskKill /FI filter argument also supports wildcard.Allows “*” to be used.
An * cannot be at the start. Taskkill does not support it at beginning.

Regards…!!
Aksh


#11

Space shouldn’t be an issue. Batch or Powershell should work as long as it is killing the specific Child process.

Basically when the daily scheduled process fails for some reason, we run the process via manual job.I want to kill them at the end of the day, so the next day scheduler doesn’t throw “Robot is Already running” or “Pending” messages. Thanks.