标签: service

如何在 Linux 中出现故障时自动重启服务

在 Windows 上,您可以设置如果/当服务失败时应该发生的情况。在 Linux(特别是 CentOS)上有没有标准的方法来实现同样的事情?

我的问题的一个重要部分是:如何处理保持打开状态的套接字 - 例如在 TIME_WAIT、FIN_WAIT1 等状态中。

目前,如果我正在开发的服务崩溃,我必须等待套接字清除或更改侦听端口,然后才能手动重新启动它。

谢谢你的帮助。

linux service socket

33
推荐指数
3
解决办法
8万
查看次数

禁用所有服务,ssh 除外

如何在现代(基于 systemd 的)Linux 发行版上禁用除 ssh 之外的所有服务?

我需要实施维护模式

所有这些服务都需要关闭:

  • 邮局
  • 后缀
  • 阿帕奇
  • 杯子
  • 定时任务
  • 鸽舍

但是 ssh 不能关闭,因为这会在维护模式下用于执行任务。

当然,我可以编写一个 shell 脚本,循环遍历我想禁用的服务列表。但这感觉就像我重新发明了一些已经存在但我现在还不知道的东西。

maintenance linux service systemd

32
推荐指数
2
解决办法
4604
查看次数

找出谁禁用了 Windows 服务

我正在做一些故障查找,我发现了两个应该automatic设置为disabled.

找出谁做这件事的最佳方法是什么?可能是我公司的某个人,也可能是客户端的某个人。确定用户帐户就足够了。

我已经查看了 Windows 事件查看器,但是,老实说,我不确定我在寻找什么,而且还有很多工作要做。什么都没有跳到我身上,但我怀疑这只是我不知道我在寻找什么。

windows-server-2008 service eventviewer

30
推荐指数
2
解决办法
5万
查看次数

术语:弹跳与重启

我一直听说并使用术语“重启”或“重启”来表示重启服务器、服务或软件模块。

  • “重启服务器”
  • “重启Tomcat”
  • “重启XYZ服务”

“反弹”是否意味着不同的东西,还是只是重新启动的重复术语?“反弹”与重新启动或重新启动有何不同?

service

26
推荐指数
2
解决办法
8万
查看次数

无法启动 CentOS 7 “网络”服务

禁用和删除“NetworkManager”服务后,我无法启动 CentOS 7“网络”服务。当我检查网络服务状态时,出现以下错误:

#systemctl status network.service
network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: failed (Result: exit-code) since Fri 2015-01-16 22:30:46 GMT; 38s ago
  Process: 4857 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 …
Run Code Online (Sandbox Code Playgroud)

linux centos service linux-networking

26
推荐指数
2
解决办法
25万
查看次数

配置有问题的 systemd 服务以通过 SIGKILL 终止

背景

我被要求systemd为新服务创建一个脚本,该脚本foo_daemon有时会进入“不良状态”,并且不会通过SIGTERM(可能是由于自定义信号处理程序)而死亡。这对开发人员来说是有问题的,因为他们被指示通过以下方式启动/停止/重新启动服务:

  • systemctl start foo_daemon.service
  • systemctl stop foo_daemon.service
  • systemctl restart foo_daemon.service

问题

有时,由于foo_daemon进入不良状态,我们不得不通过以下方式强行杀死它:

  • systemctl kill -s KILL foo_daemon.service

我如何设置我的systemd脚本,foo_daemon以便每当用户尝试停止/重新启动服务时,systemd将:

  • 尝试正常关闭foo_daemonvia SIGTERM
  • 最多给 2 秒的时间foo_daemon来完成关闭/终止。
  • 如果进程仍然存在foo_daemonSIGKILL则尝试强制关闭via (因此我们没有 PID 被回收的风险以及错误 PID 的systemd问题SIGKILL)。我们正在测试的设备会快速生成/分叉多个进程,因此对于 PID 回收导致问题存在罕见但非常真实的担忧。
  • 如果在实践中,我只是对 PID 回收感到偏执,那么我可以接受脚本只是SIGKILL针对进程的 PID发出,而不必担心杀死回收的 PID。

linux signals service systemd

22
推荐指数
1
解决办法
6400
查看次数

如何设置systemd服务依赖?

在 CentOS 7 系统启动期间 nginx 启动失败并出现以下错误:

2014/08/04 17:27:34 [emerg] 790#0: bind() to a.b.c.d:443 failed (99: Cannot assign requested address)
Run Code Online (Sandbox Code Playgroud)

我怀疑这是由于网络接口在尝试绑定到该 IP 地址以通过 SSL 为虚拟主机提供服务之前尚未启动而发生的。

我的猜测是我需要将 network.service 指定为 nginx.service 的要求,但我根本无法在 /etc/systemd/ 中找到网络服务。

如何在 systemd 中配置服务顺序或依赖项?

nginx centos service boot systemd

20
推荐指数
2
解决办法
5万
查看次数

如何在 RHEL 上“重启”特定的网络接口?

在 RHEL 中,我不使用service network restart命令,而是如何重新启动特定的网络接口,比如说“eth1”,只有一个命令。

“只有一个命令”,因为那也是我ssh正在处理的唯一界面。因此,如果我要使用:ifdown然后ifup,我将永远无法执行该ifup命令,因为我的命令ssh已在ifdown eth1命令后终止一次。

所以应该有一个命令,它允许我完全关闭然后打开为我当前ssh连接提供服务的接口。所以我不需要担心连接完全丢失到我的服务器。

请问有什么想法吗?

linux redhat service eth0 linux-networking

19
推荐指数
1
解决办法
11万
查看次数

为什么我的新贵服务没有列在 service --status-all 中

我为我在 Ubuntu 12.04 上运行的服务创建了一堆新贵工作。我可以成功启动它们并停止:

service my_service start
service my_service stop
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时它们没有列出

service --status-all
Run Code Online (Sandbox Code Playgroud)

任何想法我可能会错过什么?

为了创建服务,我刚刚在 /etc/init.conf 中添加了 .conf 文件。

ubuntu service upstart ubuntu-12.04

19
推荐指数
1
解决办法
1万
查看次数

OS X 中是否有“init.d/networking restart”的等效命令

不时,我遇到的问题与OS X客户端的网络连接(有线和无线,豹/雪豹),其中没有将解决这个问题,直到你重新启动。

  • 是否有我应该注意的特定“网络服务/进程”?
  • 我想知道一个将重置“网络连接”类型服务/进程的命令(与运行 sudo /etc/init.d/networking restart 相同)会很有用。

在基本故障排除(例如 DHCP、DNS)、检查接口故障(禁用/启用)、检查日志并没有找到足够有用的信息后,有时当其他一切都失败时,最好的办法就是重新启动机器。我不确定所有“init.d/networking restart”在 Linux 中的作用,但我知道它比禁用和启用接口更有帮助。

谢谢!

networking wifi mac-osx service process

18
推荐指数
3
解决办法
6万
查看次数