尝试使用 SC 命令删除 Windows 服务时收到以下消息?
C:\Users\chacha>sc delete service_name
[SC] OpenService FAILED 5:
Access is denied.
Run Code Online (Sandbox Code Playgroud)
我尝试更改 Service 的属性并重试删除它们但失败了。即使我禁用了服务并重新启动了机器:(
关于强行删除服务的任何想法?这个“锁定”的原因是什么?
我基本上想在 Ubuntu 上有 2 个 redis 实例。我查看了/etc/init.d/redis-server脚本并尝试创建一个指向另一个配置文件(新端口等)的新脚本(redis-server-dev),但它似乎不起作用。
正确的程序是什么?
谢谢
我正在尝试启动需要 env 的服务。变量设置为特定路径。我在“/etc/profile.d/”中设置了这个变量。但是,当我使用service命令启动此服务时,它不起作用。
男士服务:
service runs a System V init script in as predictable environment as possible,
removing most environment variables and with current working directory set to /.
Run Code Online (Sandbox Code Playgroud)
所以似乎service正在删除我的变量。我应该如何设置变量以防止它们被删除。或者是我不应该做的事情。
我可以使用 init-scripts 手动启动服务,甚至可以将路径硬编码到脚本中,但我想知道如何通过service命令使用它。
我有这个 runit 服务run和log/run脚本正常工作。
碰巧的是,服务本身可能会因外部原因而崩溃,并且可能在几分钟内无法启动。runit 处理这种情况的默认方式是每隔几秒钟重新启动服务。我该如何改变这种行为?
我的最后一个想法是添加一个check脚本并在那里做一些魔术,但这似乎比应该的要复杂得多。有没有更好更简单的方法?
是否有可以更改的设置(或可以添加的 reg 键)来设置服务的处理器关联?我想设置亲和力,并在重新启动后保持此设置(因此在启动服务后手动更改亲和力对我不起作用)。
windows service windows-server-2008-r2 affinity windows-server-2012-r2
我正在使用 ubuntu 14.10。
我刚刚安装了 systemd 并且我有一个失败的服务,proc-sys-fs-binfmt_misc.automount.
我在这里看到它是以下内容的一部分systemd:
这个文件重要吗?如何解决激活问题?
的输出systemctl status:
svassaux@vps127101:~$ systemctl status
proc-sys-fs-binfmt_misc.automount -> '/org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount'
proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point
Loaded: loaded (/lib/systemd/system/proc-sys-fs-binfmt_misc.automount; static)
Active: failed (Result: resources)
Where: /proc/sys/fs/binfmt_misc
Docs: https://www.kernel.org/doc/Documentation/binfmt_misc.txt
http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
Run Code Online (Sandbox Code Playgroud)
编辑:我的单位文件:
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by …Run Code Online (Sandbox Code Playgroud) 我正在为守护进程创建一个服务文件,我想使用变量(在初始化脚本中我使用环境变量)来为执行的脚本定义一些参数。例如,我想使用 2 个参数 $PARAM1 $PARAM2:
[Unit]
Description=my daemon
After=network.target
[Service]
ExecStart=/usr/local/bin/daemon1
PIDFile=/var/run/daemon1.pid
EnvironmentVariable=PARAM1=123
EnvironmentVariable=PARAM2=444
ExecStartPre=-/usr/bin/wget -O - --post-data=key1=$PARAM1&key2=$PARAM2 http://192.168.1.2/log.php
ExecStopPost=-/usr/bin/wget -O - --post-data=key1=$PARAM1 http://192.168.1.2/log.php
Type=simple
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
不用说,这个例子不起作用。systemd 是否可以实现类似的功能?可以对 exec 命令进行什么样的参数化?
我有一台带有管理员帐户 X 的 Windows 2008 机器 A。我有另一台带有管理员帐户 Y 的 Windows 2008 机器 B。
两台机器都有一个帐户 Z,两者都使用相同的用户名和密码。
帐户 Z 位于两台计算机上的本地管理员组中。
他们不在域中。
在机器 A 上,作为用户 Z(两台机器通用的管理员),我想在机器 B 上启动/停止服务。
(我实际上想从 c# 以编程方式执行此操作,但现在通过命令行来证明它有效是我的目标。)
我尝试了一些方法(例如使用 runas /user:Z cmd,然后使用 sc.exe),但发现 SysInternal 的psservice很好而且很灵活,因为我可以在命令行上指定用户名和密码。我也尝试过通过 WMI 对其进行编码。
我总是得到相同的结果:
如果我使用帐户 Y 的用户/通行证(然后是机器 B 上的实际管理员),它就可以工作。如果我使用帐户 Z 的用户/通行证(或在本地模拟它),它会因访问被拒绝而失败。
由于 Z 在管理员组中,为什么会出现这种情况?
谢谢。
更新:
这是我在两台机器上的 UAC 设置:

我有一个管理员组之外的用户。如何为该(特定)用户授予服务控制管理器访问权限?
它就像来自以下链接的 SC_MANAGER_ALL_ACCESS:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981%28v=vs.85%29.aspx
我有一个干净的 Debian 7 安装,我在 /etc/ntp.conf 中手动输入了以下几行:
interface ignore wildcard
interface listen <local_nic_ip>
Run Code Online (Sandbox Code Playgroud)
希望NTP不再监听UDP6,但重启后,它仍然:
5:udp 0 0 <local_nic_ip>:123 0.0.0.0:* 9172/ntpd
6:udp 0 0 127.0.0.1:123 0.0.0.0:* 9172/ntpd
8:udp6 0 0 ::1:123 :::* 9172/ntpd
Run Code Online (Sandbox Code Playgroud)
NTP 的命令行没有显示任何异常:
/usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 121:130
Run Code Online (Sandbox Code Playgroud)
如何阻止 NTP 侦听该 UDP6 端口?