此博客不在更新,我的博客新地址:www.liuquanhao.com

---------------------------------------------------------------------

系统环境:ubuntu15.10 64bit , privoxy 3.0.24

代理环境:http://www.cnblogs.com/liuxuzzz/p/5324749.html

1. 重现失败环境。

不知道是什么原因,privoxy无法开机启动。于是,我手动使用systemctl开启。

$ sudo systemctl start privoxy.service

结果失败,提示使用 systemctl status privoxy.service 和 journalctl -xe察看原因。

$ sudo systemctl status privoxy.serivce
$ journalctl -xe

输出信息并没有什么,仅仅一个failed ......status = 1.

2.尝试手动运行privoxy.service中的命令。

$ cat /lib/systemd/system/privoxy.service

输出:

[Unit]
Description=Privacy enhancing HTTP Proxy [Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=forking
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --pidfile $PIDFILE --user $OWNER $CONFIGFILE
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus= [Install]
WantedBy=multi-user.target

“ExecStart=”后面的就是会执行的命令,注意将$PIDFILE等变量换掉。

$ sudo /usr/sbin/privoxy  --pidfile/var/run/privoxy.pid --user privoxy /var/run/privoxy.pid

发现并不能启动privoxy,查了下privoxy的帮助,加了下--no-daemon参数,就是不把privoxy作为后台daemon运行。

$ sudo /usr/sbin/privoxy  --no-daemon --pidfile/var/run/privoxy.pid --user privoxy /var/run/privoxy.pid

结果成功了!

3.将正确的命令替换到privoxy.service中。

于是把--no-daemon添加到privoxy.service的“ExeStart=”里面。

$ sudo vim /lib/systemd/system/privoxy.service

将:

ExecStart=/usr/sbin/privoxy  --pidfile $PIDFILE --user $OWNER $CONFIGFILE

换成:

ExecStart=/usr/sbin/privoxy  --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE

重新启动privoxy。

$ sudo systemctl daemon-reload
$ sudo systemctl start privoxy.service

结果一直不退出,但是用netstat -lnpt查看,发现privoxy启动成功了。

$ netstat -lnpt | grep 

tcp              127.0.0.1:            0.0.0.0:*               LISTEN 

然后我想了一下,可能是systemd启动类型有问题,可是我改了下privoxy.service的启动类别。

$ sudo vim /lib/systemd/system/privoxy.service

将:

[Unit]
Description=Privacy enhancing HTTP Proxy [Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=forking
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus=

改为:

[Unit]
Description=Privacy enhancing HTTP Proxy [Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=simple
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus=

重新启动privoxy,结果成功启动privoxy,privoxy.service也成功退出。

$ sudo systemctl daemon-reload
$ sudo systemctl start privoxy.service

4.最后重启系统,privoxy也成功开机启动。

systemd 开机无法启动privoxy的更多相关文章

  1. [转帖]systemd 开机无法启动privoxy

    systemd 开机无法启动privoxy https://www.cnblogs.com/liuxuzzz/p/5329536.html 此博客不在更新,我的博客新地址:www.liuquanhao ...

  2. Android开机动画启动流程

    android开机动画启动流程   从android的Surface Flinger服务启动分析知道,开机动画是在SurfaceFlinger实例通过调用startBootAnim()启动的. 下面我 ...

  3. 关于自定义脚本rc.local里开机不启动的问题--以tomcat和perl相关的脚本为例

    本文将自己遇到的一些自定义脚本加入开机启动项却不成功的问题加以说明,花费了我很长时间才得以解决,当然也多谢了自己朋友的帮忙,正是因为他们的提醒,最后才找到了解决的办法,谢谢他们!!!! 系统是cent ...

  4. 完美解决 开机无法启动 提示0xc000000e

    注:昨天装系统碰到这个问题,这个方法说的较详细,我的是WIN7系统,开机提示引导文件错误,代码为0xc000000e 无法进入系统,使用PE进入后,在运行里输入CMD,然后按下文红字开始操作 完美解决 ...

  5. 在 win10 环境下,设置自己写的 程序 开机自动 启动的方法

    原文:在 win10 环境下,设置自己写的 程序 开机自动 启动的方法 1.是登录自己用户时才能开机启 C:\Users\username\AppData\Roaming\Microsoft\Wind ...

  6. Win10设置开机进入启动设置模块(进入安全模式等)

    Win10设置开机进入启动设置模块(进入安全模式等) Win10系统要进入安全模式或其他启动模式选择时,需要在系统中做如下设置后,才可在开机的时候对模式进行选择,操作如下: 1.依次点选:win10设 ...

  7. 非root用户随开机而启动mysql服务

    非root用户随开机而启动mysql服务 今天验证了一下,非root用户随开机而启动msyql服务的脚本执行效果,特此简要记录如下: 环境: 192.168.142.130 mysql 5.6.41 ...

  8. 使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序

    使用VS开发的一个开机自启动启动.可接收指定数据关闭电脑或打开其他程序需要注意的几点 为了能够在其他电脑上运行自己写的程序,需要在VS改一下编译的运行库.(项目->属性->配置属性-> ...

  9. 开机延时启动多程序(Dos下Start命令详解)

    前言 在实际开发当中,很多程序需要开机自启,并且对启动顺序有所要求,这里推荐一种最简单的开机延时启动多程序的方法,使用bat脚本来控制程序的启动顺序. Bat脚本实现 Bat比较简单,延时是采用pin ...

随机推荐

  1. 微信小程序 onLoad 函数

    小程序注册完成后,加载页面,触发onLoad方法. 页面载入后触发onShow方法,显示页面. 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次. 当小程序后台运行或跳 ...

  2. Python知识点入门笔记——Python的基本数据类型

    Python的数字分为4种类型:整数(int).浮点数(float).布尔值(bool).复数(complex). type()函数可以知道数据的类型,如type(233)是int型,type(233 ...

  3. 科学计算库Numpy——运算

    np.multiply(array1,array2) 该函数用于数组中对应位置上的数相乘. 一维向量 二维数组 np.dot(array1,array2) 两个数组都是一维向量 数组中对应位置上的数相 ...

  4. python3.7 装饰器

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 装饰器 #装饰器 ''' 定义:本质就是一个函数,作用是为其他函 ...

  5. stark组件(1):动态生成URL

    项目启动时自动生成URL 效果图: 知识点: Django启动前通过apps下的ready方法执行一个可以生成URL的py文件 include函数主要返回有三个元素的一个元组.第一个是url配置(ur ...

  6. CodeForces:#448 div2 B. XK Segments

    传送门:http://codeforces.com/contest/895/problem/B B. XK Segments time limit per test1 second memory li ...

  7. MySQL创建数据库及用户

    create database ${db_name} default charset utf8 COLLATE utf8_general_ci; grant all on ${db_name}.* t ...

  8. Diycode开源项目 MainActivity分析

    1.分析MainActivity整体结构 1.1.首先看一下这个界面的整体效果. 1.2.活动源代码如下 /* * Copyright 2017 GcsSloop * * Licensed under ...

  9. Nodejs-文件流

    1.什么是流? 流是程序输入输出的一个连续的字节序列. 有文件流,网络流,设备(例如鼠标,键盘,磁盘,调制解调器和打印机)的输入输出都是用流来处理的. 任何数据的最根本表现形式都是二进制. 读取文件 ...

  10. 43、gridview或者listview的adapter优化

    1.在getview时,如果是一个textview,那么不用每次都new一个或者inflater直接返回,可以先判断convertview是否为空,如果为空则new或者inflate,否则直接返回co ...