描述
我正在尝试制作一个systemd服务文件来运行python脚本来使用热打印机打印一些东西。escpos是我用来访问热打印机控制的库。然而,escpos需要sudo来访问usb设备。
问题
如何使systemd服务文件使exec命令获得根访问权?基于互联网上的一些答案,如果我没有为用户设置任何内容,默认的exec应该会自动获得根访问。但我还是有麻烦让我的程序运行。希望有人能帮我找出我的错误。
码
python
文件: /usr/local/etc/test/testPrint.py
from escpos.printer import Usb
#require escpos use
我试图使用systemd来运行一个python3脚本,它运行得很好,但是我改变了我的python脚本以使用内置的OS模块,因为我想从系统中检索一个环境变量,以便在python3中作为一个变量使用。
python脚本如下所示:
#/usr/bin/python
import sys, requests, json, time, os
import paho.mqtt.client as mqtt
from requests.auth import HTTPBasicAuth
from datetime import datetime
MQTT_DEVICE_ID = os.environ[&
我刚刚从15.04升级到15.10,在引导过程中,我现在收到一个错误,说明某些模块无法加载。所以我运行了systemctl status -l systemd-modules-load.service,我得到了这个:
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: Inserted module 'option'
Oct 24 12:22:23 ubuntu systemd-modules-load[292]: could not find module by name='off'
Oct 24 12:22:2
我想将Python脚本作为服务运行,脚本启动并工作,但是系统显示它处于激活状态,这就是为什么它不断地重新启动的原因。
systemd[1]: rpi-rf.service: Failed with result 'timeout'.
如何告诉系统脚本已启动并正在运行?.service:
# systemd unit file for the Python Demo Service
[Unit]
# Human readable name of the unit
Description=Python rpi-rf_receiver
[Service]
# Co
我是Python新手,在安装和使用纯Python包和模块时,我很难理解远程操作在其中扮演了什么角色。我最近下载了Kaltura的Python客户端作为API,它附带了标准的远程设置脚本。它还附带了包含各种模块本身的源Python脚本。我使用install命令运行了远程设置脚本,所提供的测试代码似乎有效,但我无法让客户端正确加载并在其他上下文中工作。
我搞不懂这里到底是什么地方。我已经有了模块,它们是我下载的档案的一部分。我甚至需要运行远程设置/安装吗?我不能直接导入模块吗?运行安装有什么意义?
不确定这是否有帮助,但下面是安装脚本:
from distutils.core import set
我有这个python代码,我需要使用systemd运行它,并监视它是否挂起。问题是,当我直接从systemd运行python脚本时,它工作得很好。然而,当python脚本从从我的systemd服务运行的另一个shell脚本运行时,它说
sdping_py.service: Got notification message from PID 6828, but reception only permitted for main PID 6768
问题似乎是作为shell脚本和systemd服务的子进程运行的python脚本,期望得到来自作为服务的主要进程的shell脚本的通知。我怎么才能避开这一
我正在尝试构建的字体,其中包括使用fontforge绑定运行Python脚本。该脚本是为python2编写的,但我一直无法找到python2 fontforge bindings (我正在运行Arch Linux)。
ImportError: 'psMat' is not a built-in module
我以前从未见过,我也搞不懂它是什么意思。(这与
ImportError: No module named fontforge
在python2下运行时,我知道这意味着它找不到模块(正如预期的那样: fontforge包只安装在/usr/lib/python3.4/site-
下面名为"tst_script.py“的Python脚本在一个文件中写入。它在通过命令行启动时工作,但在通过systemd服务进行lauch时却无法创建该文件。
#!/usr/bin/python
#-*- coding: utf-8 -*-
import time
if __name__ == '__main__':
with open('test_file', 'a') as fd:
while True:
for i in range(10):
fd
我想防止多个python脚本在我的Raspberry Pi ()上崩溃。
我想澄清一下,这是否是实现systemd文件的方法,以防止多个python脚本崩溃。在服务文件的服务部分,典型的格式是:
[Service]
ExecStart=/path/too/script
Restart=always
但是,由于我正在运行多个python脚本,我认为我应该将python添加到路径的前面,并将服务部分堆叠在一起。如果我错了,请纠正我。
我的当前脚本(constantrun.service)是:
[Unit]
Description='python scripts that needs to