Articles of Linux操作系统

如何使用callback函数来获取Tizen中的方向?

我想在C中编写一个本地应用程序,以获得Tizen的定位价值。 编译后的C代码必须在Tizen手机上运行,​​我需要获取定位的价值。 我从Tizen源获得的callback函数是 int app_cb_broker_appcore_rotation_event(enum appcore_rm rm, void *data) { app_device_orientation_cb device_orientation_cb; device_orientation_cb = app_context.callbacks->device_orientation; if (device_orientation_cb != NULL) { app_device_orientation_e dev_orientation; dev_orientation = app_convert_appcore_rm(rm); device_orientation_cb(dev_orientation, app_context.user_data); } return 0; } 如何使用这个函数来获取当前方向的值?

Xlib中心窗口

我正在写一个Xlib应用程序,我希望窗口居中。 我已经使用XMoveWindow (desktopWidth – width) / 2, (desktopHeight – height) / 2 ,它大致在正确的地方。 但问题是宽度和高度是客户区域,而不是总面积。 有什么方法可以让我获得窗户的总面积? 我需要使用Xlib因为我使用的是Glx和OpenGL 。 我不想使用SDL ,也没有庞大的graphics库。

gdb步骤不按预期工作

我在Linux上debugging静态multithreadingx86-64 C ++应用程序。 我可以在函数上设置断点并停止它们,我可以一步一步遍历函数体。 但是,当我尝试进入另一个函数,gdb不停止在它的开始,似乎它只是继续执行。 当我中断程序执行时,gdb进入中断状态并变得不可用: (gdb) bt Target is executing. (gdb) c Continuing. Cannot execute this command while the selected thread is running. (gdb) 作为一种解决方法,我可以使用stepi几次而不是step , stepi按预期工作。 这可能是什么原因呢? 除了使用stepi还有什么解决办法吗? 我使用gdb 7.6和gcc 4.7.1。

为什么一个内存地址以0x开头?

可能重复: 为什么hex前缀为0x? 内存地址通常被标记为以0x的hex值。 例如: > new.env() <environment: 0x21d36e0> 0x部分是什么意思? 这个符号来自哪里? 有没有其他值可能而不是0x ?

如何确保我的Linux程序不会产生核心转储?

我有一个程序,保存敏感信息(如私钥)在内存中,因为它在程序的生命周期中使用它们。 此程序的生产版本将RLIMIT_CORE设置为0,以尝试确保不会生成可能包含此敏感信息的核心转储。 然而,尽pipe在core(8)页中没有提到这一点,但Ubuntu维基上的apport文档声称, 请注意,即使将ulimit设置为禁用核心文件(通过使用ulimit -c 0指定核心文件大小为零),apport仍将捕获崩溃。 在我的过程中有没有一种方法(即,不依赖于外部系统的configuration),我可以确保我的过程的核心转储永远不会生成? 注意:我知道有很多方法(如下面的注释中提到的那些方法),具有root或进程所有者权限的用户仍然可以访问敏感数据。 我在这里瞄准的是通过将敏感数据保存到磁盘,发送到Ubuntu bug跟踪系统或类似的东西来防止意外暴露。 (感谢Basile Starynkevitch使这个明确。)

SVN – 如何导出只是一个修订

我在我的本地计算机(Ubuntu)上使用SVN安装程序进行开发,并在共享主机上运行SVN客户端,使用分段服务器,同样我的生产服务器也具有相同的设置。 当我做出口的时候,整个项目都是出口的,对于小版本来说是荒谬的。 我使用以下命令: svn export -r 31 http://localhost.com/proj/trunk . –force –username myusername 整个项目再次出口。 所以我尝试一种不同的方式: svn export -r 'COMMITTED' http://localhost.com/proj/trunk . –force –username myusername 然后我得到这个错误: svn: 'http://localhost.com/egr' is not a working copy svn: Can't open file 'http://localhost.com/proj/.svn/entries': No such file or directory 我想知道我是不是使用正确的SVN导出命令,或者如果我的SVN设置有内在的错误(这是我第一次configurationSVN)。 dav_svn.conf: <Location /proj> DAV svn SVNPath /var/svn/proj/ AuthType Basic AuthName "SVN Repo" AuthUserFile […]

无法在正在运行的JBoss进程上“strace -p”

我正在尝试使用“strace -p”连接到已经运行的JBoss进程。 JBoss使用1.5.0_15 Java JDK。 不幸的是,这不起作用 – 我只得到一个futex()结果: # strace -p 3388 Process 3388 attached – interrupt to quit [ Process PID=3388 runs in 32 bit mode. ] futex(0x8f18f7c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished …> Strace适用于所有其他程序,但不适用于JBoss。 当我通过strace启动这个过程时,它似乎工作正常。 当我尝试附加到已经运行的进程时,它不起作用。 我正在使用64位Linux 2.6.18和32位Java JDK(RedHat Enterprise Linux 5.3)。 更新#1: 我曾尝试使用“-d”来运行它,但输出结果似乎没有更多的洞察力,至less对我而言: [root@]# strace -d -e verbose=all -p 3388 Process 3388 attached […]

Linux:检索每个接口发送/接收的数据包计数器(以太网,ipv4,ipv6)

在Linux上,我如何(以编程方式) 在每个接口的基础上检索以下计数器: 发送/接收的以太网帧, 发送/接收的IPv4数据包, 发送/接收的IPv6数据包。

分割错误后清空核心转储文件

我正在运行一个程序,并被Segmentation故障中断。 问题是核心转储文件被创build,但大小为零。 你有没有听说过这样的情况,以及如何解决? 我在磁盘上有足够的空间。 我已经执行了ulimit -c unlimited来限制核心文件的大小 – 无论是运行还是放在提交的batch file的顶部 – 但仍然有0字节的核心转储文件。 包含这些文件的文件夹的权限为uog + rw,创build的核心文件的权限仅为u + rw。 这个程序是用C ++编写的,用Grid Engine的qsub命令在一个linux集群上提交的,我不知道这个信息是否与这个问题有关。

显示哪些文件在Linux中写入的工具?

我在IOStat中发现,我的应用程序的某些部分正在广泛地编写,但我不知道它是哪个进程以及它正在写入哪个文件。 在Vista中有一个工具可以显示在过去30秒内活动的文件。 有没有类似的Linux?