在 Ubuntu 12.10 上安装 TeamViewer 8 后,我注意到一个名为“teamviewerd”的正在运行的进程,更具体地说:
/opt/teamviewer8/tv_bin/teamviewerd -f
/opt/teamviewer8/tv_bin/wine/bin/wineserver
每当我尝试杀死它时它都会自动重新打开,我想知道为什么会发生这种情况。
提前致谢。
答案1
因为这是 teamviewer 的本质:它是为了重生而构建的。
/opt/teamviewer8/tv_bin/script/teamviewerd.sysv
可能要对此负责。
要停止 teamviewer 使用:
sudo teamviewer --daemon stop
它会显示...
initctl stop teamviewerd
teamviewerd stop/waiting
它消失了......
rinzwind@discworld:/opt/teamviewer8/tv_bin/script$ ps -ef|grep teamviewer
rinzwind 12712 12428 0 18:11 pts/0 00:00:00 grep --color=auto teamviewer
操作守护进程的命令:
teamviewer --daemon status show current status of the TeamViewer daemon
teamviewer --daemon start start TeamViewer daemon
teamviewer --daemon stop stop TeamViewer daemon
teamviewer --daemon restart stop/start TeamViewer daemon
teamviewer --daemon disable disable TeamViewer daemon - don't start daemon on system startup
teamviewer --daemon enable enable TeamViewer daemon - start daemon on system startup (default)
关于评论:
来自 teamviewer 9 帮助:
$teamviewer --help
TeamViewer 9.0.32150
teamviewer start TeamViewer user interface (if not running)
teamviewer --help print this help screen
teamviewer --version print version information
teamviewer --info print version, status, id
teamviewer --ziplog create a zip containing all teamviewer logs (useful when contacting support)
teamviewer --passwd [PASSWD] set a password (useful when installing remote (ssh)
teamviewer --daemon status show current status of the TeamViewer daemon
teamviewer --daemon start start TeamViewer daemon
teamviewer --daemon stop stop TeamViewer daemon
teamviewer --daemon restart stop/start TeamViewer daemon
teamviewer --daemon disable disable TeamViewer daemon - don't start daemon on system startup
teamviewer --daemon enable enable TeamViewer daemon - start daemon on system startup (default)
TV9 中仍有选项。
答案2
systemctl stop teamviewerd.service
systemctl disable teamviewerd.service
答案3
如果您从 .deb 文件安装 Teamviewer 10,--daemon stop
则如上文所述,它将无法在 Ubuntu 14.04 LTS(以及其他版本?)中使用。不知道为什么。
守护进程是一个“新贵”的工作,因此它/etc/init/teamviewerd.conf
不受控制/etc/init.d
。
不幸的是,对我来说,initctl stop teamviewerd
和service teamviewerd stop
都会导致:
initctl: Unknown instance:
teamviewerd.sysv
安装在 /opt 中。因此,要停止它,您需要执行以下操作:
$ sudo /opt/teamviewer/tv_bin/script/teamviewerd.sysv stop
答案4
teamviewer 使用 upstart 在启动时启动守护进程。upstart 确实设置了 respawn 以保持进程运行。正如 12.04 用户提到的,upstart 脚本中的 respawn 节可能是您想要注释掉的。
如果启动 upstart,teamviewer 进程将以 root 身份运行。由于 respawn 位于 upstart 脚本中,因此无论您执行隐式终止还是“sudo stop teamviwer”(upstart 方式)或“sudo teamviewer --daemon status”,都可能遇到永久终止它的问题。最好的办法可能是注释掉 upstart 脚本中的 respawn 行,然后根据需要启动和停止服务。