小编leg*_*cia的帖子

使用erl -noshell从控制台运行eunit测试

我想从控制台运行以下eunit test命令

eunit:test([test_module, [verbose]).
Run Code Online (Sandbox Code Playgroud)

我试过这个,但似乎没有工作erl -noshell -pa ./ebin -s eunit test test_module verbose -init stop

~/uid_server$erl -noshell -pa ./ebin -s eunit test test_module verbose -init stop
undefined
*** test module not found ***
::test_module

=======================================================
  Failed: 0.  Skipped: 0.  Passed: 0.
One or more tests were cancelled.
Run Code Online (Sandbox Code Playgroud)

你知道如何从控制台正确传递一个简单的参数吗?

erlang

13
推荐指数
1
解决办法
3781
查看次数

没有类型规格的功能的警告?

我希望所有导出的函数都具有类型-specs,以确保至少存在接口的基本文档.我可以让编译器或Dialyzer为没有类型规范的函数发出警告吗?

erlang types compiler-warnings

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

在Windows上编译Erlang代码

我安装了Erlang 13B并尝试按照教程进行操作.

每次我到达时c(tut),我都会收到错误(ok, tut),因此似乎没有安装任何模块.谁能指出我正确的方向?

我已经尝试过Emacs,但我真的不知道如何使用它,甚至没有接近让Erlang模式工作.例如,我在哪里输入:

  (setq load-path (cons  "C:/Program Files/erl5.6.2/lib/tools-<ToolsVer>/emacs"
    load-path))
  (setq erlang-root-dir "C:/Program Files/erl5.6.2")
  (setq exec-path (cons "C:/Program Files/erl5.6.2/bin" exec-path))
  (require 'erlang-start)
Run Code Online (Sandbox Code Playgroud)

windows installation erlang compilation

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

当我具有正确的功能时,无法打开/ proc/self/oom_score_adj

我试图oom_adjust_setup在OpenSSH的port_linux.c启发下为一个过程设置OOM杀手分数调整.为此,我打开/proc/self/oom_score_adj,读取旧值,并写入一个新值.显然,我的流程需要是root用户或有能力CAP_SYS_RESOURCE做到这一点.

我得到了一个我无法解释的结果.当我的进程没有该功能时,我能够打开该文件并读取和写入值,尽管我写的值没有生效(足够公平):

$ ./a.out 
CAP_SYS_RESOURCE: not effective, not permitted, not inheritable
oom_score_adj value: 0
wrote 5 bytes
oom_score_adj value: 0
Run Code Online (Sandbox Code Playgroud)

但是当我的进程确实具有该功能时,我无法打开该文件:它与EACCES失败:

$ sudo setcap CAP_SYS_RESOURCE+eip a.out
$ ./a.out 
CAP_SYS_RESOURCE: effective, permitted, not inheritable
failed to open /proc/self/oom_score_adj: Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么这样做?我错过了什么?


一些进一步的谷歌搜索让我在2013年10月20日由Azat Khuzhin发表这篇文章.显然CAP_SYS_RESOURCE可以让你改变oom_score_adj任何过程,但你自己.要更改自己的分数调整,您需要将其与CAP_DAC_OVERRIDE- 即禁用所有文件的访问控制.(如果我想要的话,我会把这个程序设为setuid root.)

所以我的问题是,我怎么能没有 这个CAP_DAC_OVERRIDE呢?


我正在运行Ubuntu xenial 16.04.4,内核版本4.13.0-45-generic.我的问题类似但不同于这个问题:write当没有能力时,这是关于错误的.

我的示例程序:

#include …
Run Code Online (Sandbox Code Playgroud)

c linux

11
推荐指数
1
解决办法
1134
查看次数

如何自动订阅Gnus中的新IMAP文件夹?

我需要自动订阅我的IMAP服务器在Gnus中创建的新IMAP文件夹.这该怎么做?

emacs imap gnus

10
推荐指数
1
解决办法
1422
查看次数

更改工作目录

我在WinXP机器上安装了Erlang.因此,我用"werl.exe"来使用它.问题是,我想更改werl启动的默认文件夹.我找不到可以让我这样做的选项,虽然我知道必须有类似的东西.有人可以帮忙吗?

erlang

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

如何确保在shell脚本中成功安装yum?

我有一个shell脚本,检查是否有互联网连接(通过ping谷歌),然后调用

yum install packageA packageB --assumeyes
Run Code Online (Sandbox Code Playgroud)

我如何确认软件包已安装(或已安装)?我是否进行另一个yum调用并解析输出(如果系统使用另一种语言,我认为这会非常复杂)?

bash shell yum

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

Linux递归chmod只在子目录上

我在linux上,我有一个目录,里面有很多子目录和项目.我想在所有目录和子目录上运行递归chmod,但是在这些目录中的NONE文件.

chmod -R 777 {folder}
Run Code Online (Sandbox Code Playgroud)

是否有一个标志我可以添加到chmod命令,以使chmod仅适用于子目录?

linux chmod

9
推荐指数
1
解决办法
8222
查看次数

9
推荐指数
1
解决办法
1537
查看次数

是否可以在SQLAlchemy过滤器中使用函数?

我有一个函数检查对象的某些属性,并根据结果返回布尔值.在过滤器中编写它太复杂了,但它可以工作并返回正确的值.

现在我想使用sqlalchemy返回此函数返回True的所有对象.我试过了:

DBSession.query(MyObject).filter(self.check_attributes(MyObject) == True).all()
Run Code Online (Sandbox Code Playgroud)

DBSession.query(MyObject).filter(self.check_attributes(MyObject)).all()
Run Code Online (Sandbox Code Playgroud)

两者都未能选择正确的对象.我究竟做错了什么?

python sqlalchemy

8
推荐指数
2
解决办法
7422
查看次数