Debian 进程配置的常用修改方式
一 定位与编辑服务单元文件
systemctl cat <服务名>sudo systemctl daemon-reloadsudo systemctl restart <服务名>[Unit]
Description=示例服务After=network.target[Service]
ExecStart=/usr/bin/your-appRestart=alwaysUser=appuser[Install]
WantedBy=multi-user.targetsudo systemctl enable example.service。二 环境变量与工作目录
[Service]
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binEnvironment=MY_VAR=my_valueWorkingDirectory=/opt/myappsource ~/.bashrc 使当前会话生效。env MY_VAR=val /path/to/app。三 资源限制与进程数控制
[Service] 段):
LimitNOFILE=4096(文件描述符上限)LimitNPROC=1024(用户进程数上限)LimitCORE=infinity(核心转储大小)sudo systemctl daemon-reload && sudo systemctl restart <服务名>。* soft nproc 1024* hard nproc 1024kernel.pid_max=4194303(最大 PID)fs.file-max=100000(最大文件句柄)sudo sysctl -p。sudo cgcreate -g cpu,memory:/mygroupecho <PID> | sudo tee /sys/fs/cgroup/cpu/mygroup/tasks。四 启动项与启动顺序
After=、WantedBy= 控制服务在 network.target 之后启动并随多用户目标启动。systemctl enable|start|status|restart <服务名>。update-rc.d <脚本名> defaults 注册。exit 0 前添加命令,并确保文件可执行(chmod +x /etc/rc.local)。crontab -e 添加 @reboot /path/to/script.sh,适合简单自启任务。五 查找配置文件与实战示例
systemctl cat <服务名> 查看单元内容,通常会包含或提示主配置路径。grep -r "apache2.conf" /etc/。[Unit]
Description=My Python AppAfter=network.target[Service]
Type=simpleUser=myuserWorkingDirectory=/opt/myappExecStart=/usr/bin/python3 /opt/myapp/app.pyRestart=always[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reloadsudo systemctl enable --now my-python-app.servicesudo systemctl status my-python-app.service。