小编chi*_*des的帖子

你为什么要用umask?

我正在阅读一些源代码,我在主程序的最开头发现了这个语句:

umask(077);
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

手册页(man 2 umask)指出:

umask - 设置文件创建模式掩码

此清除允许每个用户限制对其文件的默认访问

但我不清楚为什么有人这样做?作为捷径?

c c++ unix

5
推荐指数
1
解决办法
4077
查看次数

sigaction - 为什么我们不必重置处理程序?

如果我们使用sigaction来定义信号处理程序,那么为什么我们不需要重置处理程序?如果我们使用,signal(sig_no,handler_func)那么我们必须重置它.为什么是这样?

#include <unistd.h>
#include <stdio.h>
#include <signal.h>

void func(int sig)
{
 printf("caught signal:%d\n",sig);
 // Not needed to reset handler. Why? 
}

int main()
{
 struct sigaction sa;

 sa.sa_handler=(void*)func;
 sigaction(SIGRTMIN,&sa,NULL);
 kill(0,SIGRTMIN);
 kill(0,SIGRTMIN);
 kill(0,SIGRTMIN);
}
Output:
[root@dhcppc0 signals]# ./a.out
     caught signal:34
     caught signal:34
     caught signal:34 (3 times signal caught by same handler without resetting handler)
Run Code Online (Sandbox Code Playgroud)

c unix signals

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

将URL拆分为python中的列表

我目前正在开展一个涉及拆分网址的项目.我已经使用urlparse模块来分解url,所以现在我只使用路径段.

问题是,当我尝试split()基于分隔符"/"的字符串来分隔目录时,我最终在列表中找到空字符串.

例如,当我执行以下操作时:

import urlparse
url = "http://example/url/being/used/to/show/problem"
parsed = urlparse.urlparse(url)
path = parsed[2] #this is the path element

pathlist = path.split("/")
Run Code Online (Sandbox Code Playgroud)

我得到了清单:

['', 'url', 'being', 'used', 'to', 'show', 'problem']
Run Code Online (Sandbox Code Playgroud)

我不想要这些空字符串.我意识到我可以通过制作一个没有它们的新列表来删除它们,但这看起来很草率.有没有更好的方法来删除空字符串和斜杠?

python urlparse urlsplit

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

面试问题以评估Linux C程序员

我不是一个C程序员,我将采访一位有3年Linux经验的人.在他的简历中,他说他对C编程很有经验.

所以我的问题是,如果你要采访这个"C linux"的家伙,你会问什么问题,以确保这个人有能力?顺便说一句,我希望你也给我答案:-).

提前致谢.

c

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

如何将Python的getpass()重定向到stderr?

我正在尝试编写一个程序,将其提示打印为标准错误,并将其输出打印为标准输出,以便以后可以操纵输出。

我对python有点陌生,但是getpass()的文档显示我应该能够选择一个流:

getpass.getpass([prompt[, stream]])
Run Code Online (Sandbox Code Playgroud)

我已经尝试过各种参数来获取getpass,但似乎无法在stderr中进行提示。任何帮助,将不胜感激,谢谢。

>>> password = getpass.getpass("Password", sys.stderr)
TypeError: unix_getpass() takes at most 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

python stderr

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

标签 统计

c ×3

python ×2

unix ×2

c++ ×1

signals ×1

stderr ×1

urlparse ×1

urlsplit ×1