Opened 4 years ago
Last modified 13 months ago
#16719 new enhancement
[ProcessController] replace Kill button with Restart (easy)
Reported by: | diver | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Applications/ProcessController | Version: | R1/beta2 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
Kill this theam button should be replaced with Restart this team for system (launch_daemon
controlled) processes.
Change History (8)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Description: | modified (diff) |
---|
Correct, I was meaning teams of course. It's just that I find the message a bit misleading - it makes one think that the process would be killed while in reality it wouldn't.
comment:3 by , 4 years ago
it makes one think that the process would be killed while in reality it wouldn't
Process is actually killed. launch_daemon
creates new process. Restart should be done in tools like Services. Each software has its own domain of responsibility.
Also process restarting is emergency behavior that it intended to recover crashed service. It is not regular way to restart service and can cause data loss.
comment:4 by , 3 years ago
https://review.haiku-os.org/c/haiku/+/4090
A commit for this ticket is ready for review.
Does anything need to be done for translations or does the B_TRANSLATE() handle that?
comment:5 by , 3 years ago
What is the justification for this? kill is destructive ment for processes that cannot be reached otherwise (iirc quit requested or sigterm), if this is specialcased here it is much harder to have any recourse against bugs in launch_daemon.
Replacing Quit might make sense, it is non-destructive so asking the launch daemon for a restart would make sense for that context.
comment:6 by , 3 years ago
What is the justification for this? kill is destructive ment for processes that cannot be reached otherwise
The goal of this ticket is just to change the label of the button/menu when the process is managed by launch daemon already, because the process will be restarted in this case (this is already how it works: launch daemon sees that the process was killed, and automatically restarts it).
No change in behavior.
We could also add menu entries for managing things with launch daemon and cleanly stop system services from ProcessController, if that's desirable.
comment:7 by , 3 years ago
Normally launch_daemon restarts sevrices indeed, but killing them is not the proper way to make them restart. I think it is mot a good idea to muddle the terminology here as it will give the impression that it is safe to do.
For example killing app_server sounds like a bad idea and it will give you a system you probably need to reboot, but if it just sais it will be restarted it sounds like this is intended to work now, but killing it will loose any data and prevent a clean restart in any case.
Why? Threads are not restarted, only teams (processes). Also I don't think that knowledge of which team is auto-restarting is ProcessController task.