小编use*_*422的帖子

rsyslogd和字符#012和#015

我使用rsyslogd 5.8版.字符\n和\ r \n在日志文件中转储为#012和#015.

示例(输入命令:printf"example-test [\ r \n]"| logger):

<13> 2014-07-07T11:01:03.254 root:  example-test[#015]
Run Code Online (Sandbox Code Playgroud)

我宁愿用十六进制转储它们:#0A和#0D(或其他更易读的格式).

我怎么能通过修改rsyslogd配置文件来做到这一点?

rsyslog

12
推荐指数
1
解决办法
1万
查看次数

如何根据文件系统了解文件名的字符编码

我想知道文件系统中文件名的字符编码,以便在GUI中正确显示它们.

我该怎么做?

我想根据文件系统(FAT,NTFS,ext3等)得到不同的字符编码

谢谢

(我使用的是C++,但这个主题与语言无关)

filesystems filenames

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

eventfd_read/write 与 sem_wait/post

在Linux上,在C/C++程序中,如果我不关心在“select”中使用我的eventfd,那么使用eventfd_read/write(带有EFD_SEMAPHORE标志)还是sem_wait/post更好?

  • 是否存在性能、可靠性、可移植性问题?
  • 由于我的程序使用了一些其他 eventfd 对象(带有“select”),我认为使用 eventfd 比 sem_wait/post 更一致。

c c++ linux semaphore

4
推荐指数
1
解决办法
2386
查看次数

erlang ets选择奇怪的行为

我在erlang中有一个奇怪的行为:ets:select.

我实现了一个正确的select语句(下面的4和5),然后我在我的语句中出错(下面的6),然后我再次尝试与4和5中相同的语句,并且它不再起作用.

怎么了 ?任何的想法 ?

Erlang R14B01 (erts-5.8.2) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.8.2  (abort with ^G)
1> Tab = ets:new(x, [private]).
16400
2> ets:insert(Tab, {c, "rhino"}).
true
3> ets:insert(Tab, {a, "lion"}). 
true
4> ets:select(Tab,[{{'$1','$2'},[],['$1', '$2']}]).      
["rhino","lion"]    
5> ets:select(Tab,[{{'$1','$2'},[],['$1', '$2']}]).      
["rhino","lion"]
6> ets:select(Tab,[{{'$1','$2'},[],['$1', '$2', '$3']}]).
** exception error: bad argument
 in function  ets:select/2
    called as ets:select(16400,[{{'$1','$2'},[],['$1','$2','$3']}])
7> ets:select(Tab,[{{'$1','$2'},[],['$1', '$2']}]).      
** exception error: bad argument
 in function  ets:select/2
    called as ets:select(16400,[{{'$1','$2'},[],['$1','$2']}])
Run Code Online (Sandbox Code Playgroud)

我的ets表被破坏了吗?它会成为ets的错误吗?

谢谢.

erlang ets

4
推荐指数
1
解决办法
1099
查看次数

ets:匹配不返回预期值

我遇到麻烦:匹配.在下面的代码中,我希望ets:match返回1找到的值,但不返回任何值.为什么?

1> T = ets:new(xxx, []).
16400
2> ets:insert(T, {a, b, c, d}).
true
3> ets:match(T, {'_', '_', '_', '_'}).
[[]]
Run Code Online (Sandbox Code Playgroud)

erlang ets

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

erlang进程间锁机制(如flock)

Erlang是否有一个进程间(我的意思是Linux或Windows进程)锁机制,如flock?

用法如下:

  • Erlang服务器开始为存储库提供服务,并放置文件锁(或其他)
  • 如果另一个OS进程(另一个Erlang服务器或命令行Erlang脚本)与repo交互,则文件锁会警告可能的冲突

erlang flock interprocess

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

d3 = {** d1,** d2}`和d4 = dict(** d1,** d2)之间的区别?

假设有两个命令,而其中一些关键则受到质疑。然后,我想结合这两个字典,并使用d2的键替换d1。

d1 = {
    "2222": {1:3},
    "3333":{1:5}
}

d2 = {
    "2222": {1:5},
    "4444":"a"
}


# expected output is
# {'2222': {1: 5}, '3333': {1: 5}, '4444': 'a'}

Run Code Online (Sandbox Code Playgroud)

我尝试过



d3 = {**d1, **d2}  # works

d4 = dict(**d1, **d2)  # failed

TypeError: type object got multiple values for keyword argument '2222'


Run Code Online (Sandbox Code Playgroud)

我很困惑为什么d3 = {**d1, **d2}起作用但d4 = dict(**d1, **d2)失败了**,这两个表达式分别意味着什么?

python python-3.x

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

标签 统计

erlang ×3

ets ×2

c ×1

c++ ×1

filenames ×1

filesystems ×1

flock ×1

interprocess ×1

linux ×1

python ×1

python-3.x ×1

rsyslog ×1

semaphore ×1