如何列出并重启所有以lc-开头的systemctl服务
如何列出并重启所有以lc-开头的systemctl服务
嘿,这个需求其实systemctl本身就支持通配符匹配,不用绕弯子用grep哦,给你两种靠谱的方案:
一、先列出目标服务
直接用systemctl的单元匹配功能,精准筛选以lc-开头的服务:
- 只看活跃状态的服务:
这个命令会输出所有正在运行/活跃的、符合命名规则的服务,比用grep过滤整个输出要可靠,不会误匹配到无关文本。systemctl list-units 'lc-*.service' - 如果要包含已停止等非活跃状态的服务,加上
--all参数:systemctl list-units --all 'lc-*.service'
二、批量重启目标服务
有两种简单的方式:
- 方式一:最直接的批量重启
直接用通配符指定服务,一步到位:
这个命令会自动匹配所有以systemctl restart 'lc-*.service'lc-开头的服务并执行重启操作,省心高效。 - 方式二:先确认列表再重启(更稳妥)
如果你想先明确要重启的服务名单,再执行操作,可以结合管道和xargs:
这里systemctl list-units --quiet 'lc-*.service' | awk '{print $1}' | xargs systemctl restart--quiet会去掉输出的表头,awk '{print $1}'提取第一列的服务名称,最后通过xargs把这些服务名传递给systemctl restart执行重启。
小提醒:执行重启前,建议先运行列出服务的命令确认名单,避免误操作哦!
备注:内容来源于stack exchange,提问作者Europa
相关产品推荐
相关产品推荐

