systemd-services
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
O que ela faz
Esta ferramenta ajuda a gerenciar programas que rodam em segundo plano no seu computador Linux, chamados de 'serviços'. Você pode criar, iniciar, parar e configurar esses serviços para que eles funcionem automaticamente quando o computador liga.
Quando usar
- ✓Quando você quer que um programa rode o tempo todo sem precisar abri-lo.
- ✓Para agendar tarefas para rodar em horários específicos, como fazer backups.
- ✓Para configurar como um programa usa os recursos do computador (memória, processador).
Exemplo do que pedir para a IA
“Configure o programa 'meu_app' para iniciar automaticamente quando o computador ligar e reiniciar se ele travar.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve um arquivo de configuração descrevendo o programa e como ele deve rodar. Depois, usa comandos simples para dizer ao sistema para iniciar, parar ou gerenciar esse programa.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill systemd-servicesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/systemd-services/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Serviços Systemd
Crie, gerencie e monitore serviços e timers do systemd. Abrange a criação de arquivos de unidade, gerenciamento de dependências, ativação por socket, limites de recursos, análise de logs com journalctl e endurecimento de produção.
Quando Usar
- Implantar um aplicativo como um serviço de background gerenciado
- Substituir jobs cron por timers do systemd para melhor controle de logs e dependências
- Configurar ativação por socket para inicialização de serviço sob demanda
- Configurar limites de recursos (CPU, memória, I/O) para serviços
- Depurar falhas na inicialização de serviços e travamentos em tempo de execução
- Gerenciar dependências e ordenação de serviços
Pré-requisitos
- Sistema Linux rodando systemd (a maioria das distribuições modernas)
- Acesso root ou sudo para criar arquivos de unidade em nível de sistema
- Binário ou script do aplicativo para rodar como serviço
- Compreensão do ciclo de vida de início/parada do aplicativo
Arquivo de Unidade de Serviço -- Exemplo Completo
# /etc/systemd/system/myapp.service
[Unit]
Description=MyApp Production Server
Documentation=https://docs.example.com/myapp
After=network-online.target postgresql.service
Wants=network-online.target
Requires=postgresql.service
[Service]
Type=notify
User=myapp
Group=myapp
WorkingDirectory=/opt/myapp
# Environment configuration
EnvironmentFile=/etc/myapp/env
Environment=NODE_ENV=production
Environment=PORT=8080
# Execution
ExecStartPre=/opt/myapp/bin/migrate --check
ExecStart=/opt/myapp/bin/server --config /etc/myapp/config.yaml
ExecStartPost=/opt/myapp/bin/healthcheck.sh
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/opt/myapp/bin/graceful-stop.sh
# Restart behavior
Restart=on-failure
RestartSec=5
StartLimitIntervalSec=300
StartLimitBurst=5
# Timeouts
TimeoutStartSec=30
TimeoutStopSec=30
WatchdogSec=60
# Security hardening
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/myapp /var/log/myapp
CapabilityBoundingSet=
AmbientCapabilities=
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=myapp
[Install]
WantedBy=multi-user.target
Comandos de Gerenciamento de Serviço
# Reload systemd after creating or modifying unit files
systemctl daemon-reload
# Start, stop, restart a service
systemctl start myapp
systemctl stop myapp
systemctl restart myapp
# Reload service configuration without restart (if supported)
systemctl reload myapp
# Enable service to start on boot
systemctl enable myapp
# Enable and start in one command
systemctl enable --now myapp
# Disable and stop
systemctl disable --now myapp
# Check service status
systemctl status myapp
# Check if a service is active, enabled, or failed
systemctl is-active myapp
systemctl is-enabled myapp
systemctl is-failed myapp
# List all running services
systemctl list-units --type=service --state=running
# List all failed services
systemctl list-units --type=service --state=failed
# Show all properties of a service
systemctl show myapp
# Show specific property values
systemctl show myapp -p MainPID,MemoryCurrent,CPUUsageNSec
# Mask a service (prevent it from being started at all)
systemctl mask myapp
# Unmask
systemctl unmask myapp
# Reset a failed service state
systemctl reset-failed myapp
Unidades de Timer (Substituição do Cron)
Arquivo de Timer
# /etc/systemd/system/backup.timer
[Unit]
Description=Daily backup timer
[Timer]
# Run daily at 2:30 AM
OnCalendar=*-*-* 02:30:00
# If the system was off at the scheduled time, run when it boots
Persistent=true
# Add random delay up to 15 minutes to avoid thundering herd
RandomizedDelaySec=900
# Associate with a specific service (defaults to same name .service)
Unit=backup.service
[Install]
WantedBy=timers.target
Arquivo de Serviço Correspondente
# /etc/systemd/system/backup.service
[Unit]
Description=Daily backup job
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
User=backup
ExecStart=/usr/local/bin/run-backup.sh
StandardOutput=journal
StandardError=journal
Gerenciamento de Timer
# Common OnCalendar expressions:
# minutely, hourly, daily, weekly, monthly
# *-*-* 06:00:00 Daily at 6 AM
# Mon..Fri *-*-* 09:00 Weekdays at 9 AM
# *:0/15 Every 15 minutes
# Validate calendar expressions
systemd-analyze calendar "Mon..Fri *-*-* 09:00"
# List all active timers
systemctl list-timers --all
# Enable and start a timer
systemctl enable --now backup.timer
# Run the associated service immediately (for testing)
systemctl start backup.service
Ativação por Socket
…
Perguntas frequentes
O que é um 'serviço' no Linux?
É um programa que roda em segundo plano, sem precisar que você interaja diretamente com ele, como um servidor web ou um programa de monitoramento.
O que são 'timers' do systemd?
São uma forma mais moderna e controlável de agendar tarefas que antes eram feitas com o 'cron'. Eles permitem definir horários precisos e dependências.
Preciso ser um expert para usar isso?
Não, a ferramenta simplifica o gerenciamento. Você só precisa saber qual programa quer rodar e ter acesso de administrador no Linux.
Detalhes
Descrição original do autor
Create and manage systemd services and timers. Configure service dependencies and resource limits. Use when managing system services.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4305
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC