# Ficheiro de exemplo para o exercício Z6.2 (curso VPS e administração de servidores Linux) # Servidor "web1" (Debian 13). Um serviço próprio que executa uma pequena aplicação web. anna@web1:~$ systemctl status factuurapp × factuurapp.service - Factuurapp (Node.js) Loaded: loaded (/etc/systemd/system/factuurapp.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Mon 2026-11-09 10:15:07 CET; 12min ago Duration: 412ms Process: 2291 ExecStart=/usr/bin/node /opt/factuurapp/server.js (code=exited, status=1/FAILURE) Main PID: 2291 (code=exited, status=1/FAILURE) CPU: 389ms anna@web1:~$ sudo journalctl -u factuurapp --since "2026-11-09 10:14" --no-pager nov 09 10:15:01 web1 systemd[1]: Started factuurapp.service - Factuurapp (Node.js). nov 09 10:15:01 web1 node[2240]: Factuurapp 3.2.0 start op 127.0.0.1:3000 nov 09 10:15:01 web1 node[2240]: Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 nov 09 10:15:01 web1 node[2240]: at Server.setupListenHandle [as _listen2] (node:net:1908:16) nov 09 10:15:02 web1 systemd[1]: factuurapp.service: Main process exited, code=exited, status=1/FAILURE nov 09 10:15:02 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:03 web1 systemd[1]: factuurapp.service: Scheduled restart job, restart counter is at 1. nov 09 10:15:03 web1 systemd[1]: Started factuurapp.service - Factuurapp (Node.js). nov 09 10:15:03 web1 node[2252]: Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 nov 09 10:15:03 web1 systemd[1]: factuurapp.service: Main process exited, code=exited, status=1/FAILURE nov 09 10:15:03 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:04 web1 systemd[1]: factuurapp.service: Scheduled restart job, restart counter is at 2. nov 09 10:15:04 web1 systemd[1]: Started factuurapp.service - Factuurapp (Node.js). nov 09 10:15:05 web1 node[2266]: Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 nov 09 10:15:05 web1 systemd[1]: factuurapp.service: Main process exited, code=exited, status=1/FAILURE nov 09 10:15:05 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:06 web1 systemd[1]: factuurapp.service: Scheduled restart job, restart counter is at 3. nov 09 10:15:06 web1 systemd[1]: Started factuurapp.service - Factuurapp (Node.js). nov 09 10:15:06 web1 node[2279]: Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 nov 09 10:15:06 web1 systemd[1]: factuurapp.service: Main process exited, code=exited, status=1/FAILURE nov 09 10:15:06 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:07 web1 systemd[1]: factuurapp.service: Scheduled restart job, restart counter is at 4. nov 09 10:15:07 web1 systemd[1]: Started factuurapp.service - Factuurapp (Node.js). nov 09 10:15:07 web1 node[2291]: Error: listen EADDRINUSE: address already in use 127.0.0.1:3000 nov 09 10:15:07 web1 systemd[1]: factuurapp.service: Main process exited, code=exited, status=1/FAILURE nov 09 10:15:07 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:07 web1 systemd[1]: factuurapp.service: Start request repeated too quickly. nov 09 10:15:07 web1 systemd[1]: factuurapp.service: Failed with result 'exit-code'. nov 09 10:15:07 web1 systemd[1]: Failed to start factuurapp.service - Factuurapp (Node.js). anna@web1:~$ sudo ss -tlnp | grep 3000 LISTEN 0 511 127.0.0.1:3000 0.0.0.0:* users:(("node",pid=1187,fd=21)) Perguntas: 1. Qual é o nome do serviço (a unit)? 2. Quantas vezes, no total, foi o serviço iniciado (linhas Started)? 3. Com que código de saída (status) terminou o programa? 4. Segundo a primeira mensagem de erro, qual é a causa? a. O ficheiro server.js não existe b. A porta 3000 em 127.0.0.1 já está a ser utilizada por outro processo c. O servidor tem pouca memória d. O serviço está a ser executado com o utilizador errado 5. A que horas (hh:mm:ss) desistiu o systemd de reiniciar o serviço? 6. Que processo está a ocupar a porta (pid)?