小编CJl*_*ano的帖子

如何为Linux用户设置CAP_SYS_NICE功能?

我的程序正在使用Linux系统调用setpriority()来更改它创建的线程的优先级.它需要设置负优先级(-10),但是,如文档中所述,当以普通用户身份运行时,这会失败.

用户需要CAP_SYS_NICE能够根据需要设置优先级,但我不知道如何为用户提供此类功能.

所以我的问题是:如何为CAP_SYS_NICELinux用户设置功能?

linux real-time

13
推荐指数
2
解决办法
2万
查看次数

make:为每个先决条件执行操作

我想在我的Makefile中构建一个像这样的规则:

log: test_A test_B
    ./test_A >> $@
    ./test_B >> $@
Run Code Online (Sandbox Code Playgroud)

但是test_A并且test_B$(TESTS)变量的一部分.

那么,是否可以为GNU/make中的每个先决条件执行一个操作(这里:调用程序)?

注意:如何使makefile规则执行其先决条件?没有完全解决这个问题,因为目标log是必需的(make log).

makefile

7
推荐指数
1
解决办法
6376
查看次数

vim:替换反向引用中的字符

我想在 vim 中做以下替换:我有一个字符串(最终有空格)和行尾的数字。我想#define用大写字母 + 前缀 + 下划线、数字(十六进制)和最后作为注释的原始字符串创建一个 C。

例如,来自:

hw version 0
Run Code Online (Sandbox Code Playgroud)

到:

#define MY_HW_VERSION (0x00) // hw version
Run Code Online (Sandbox Code Playgroud)

到目前为止,我编写了以下正则表达式:

s/^\(.*\) \(\d\+\)$/#define MY_\U\1\E (0x0\2)\/\/ \1/
Run Code Online (Sandbox Code Playgroud)

这使

#define MY_HW VERSION (0x00) // hw version
Run Code Online (Sandbox Code Playgroud)
  • 大写:OK(用于\U开始大写和\E结束大写)
  • 前缀:好的
  • 数字:好的(十六进制可能是一个问题,但这不是我的问题的目的)
  • 评论:好的(重用反向引用\1

但是你能看到剩下的空间吗?MY_HW VERSION而不是MY_HW_VERSION...

所以我想 \1\1:s/\s/_/g. 有可能吗?怎么做?

谢谢!

regex vim

3
推荐指数
1
解决办法
798
查看次数

使用python类而不调用__init__方法?

我正在学习python,一步一步.今天是关于面向对象的编程.我知道如何创建和使用简单的类,但有些东西让我感到困惑.我在python中使用的大多数对象都不需要调用构造函数

这怎么样?或者隐式调用构造函数?例:

>>> import xml.etree.ElementTree as etree    
>>> tree = etree.parse('examples/feed.xml')  
>>> root = tree.getroot()                    
>>> root
<Element {http://www.w3.org/2005/Atom}feed at cd1eb0>
Run Code Online (Sandbox Code Playgroud)

(来自http://www.diveinto.org/python3/xml.html#xml-parse)

我会走这条路(实际上有效):

>>> import xml.etree.ElementTree as etree 
>>> tree = etree.ElementTree() # instanciate object
>>> tree.parse('examples/feed.xml')
Run Code Online (Sandbox Code Playgroud)

我想使用这种编程方式(不要调用构造函数,或至少隐式调用它)用于我自己的项目,但我无法知道它是如何工作的.

谢谢

python class object

2
推荐指数
1
解决办法
1981
查看次数

标签 统计

class ×1

linux ×1

makefile ×1

object ×1

python ×1

real-time ×1

regex ×1

vim ×1