I use this command but I really cannot understand why it is working. I'm looking for a more clean way to restart adbd.
The command that I use and it actually works:
adb shell "( (su -c stop adbd &) && (su -c start adbd &) ) &"
setprop ctl.restart adbd does that. It does require
adb shell su 0 setprop ctl.restart adbd