Linux系统管理:如何执行在Linux上运行的应用程序

Linux系统管理:如何执行在Linux上运行的应用程序,第1张

使用一个运行的 Linux 计算来机探讨本文的概念和示例是很有帮助的。概述有时候第一次在 Linux 上运行一个应用程序需要一点额外工作。有些应用程序,比如服务器服务,可能无法安装为服务,因此您需要从命令行启动这些应用程序。对于启动这些应用程序的用户帐户而言,需要在应用程序文件中设置执行许可标志 (x)。运行用户空间应用程序Linux 在内核空间或用户空间运行进程。用户空间 是 *** 作系统的区域,应用程序通常在此运行。简单地说,每个用户帐户有其自己的用户空间,应用程序在这个领域内运行。默认情况下,只有 root 用户有权访问内核空间。root 用户 是 Linux 中的超级用户,相当于 Windows 中的管理员帐户。在 root 用户帐户下运行应用程序可能会引起安全风险,是不可取的。很多服务器服务需要 root 权限启动服务。然而,服务启动后,root 帐户通常会将其移至服务帐户。严格地说,Linux 中的服务帐户 才是标准的用户帐户。主要区别是服务帐户仅用于运行一个服务,而不是为任何实际登录的用户准备的。设置权限您可以使用 chmod 命令在一个文件中设置执行权限。在 Linux 中,umask 设置通常用来防止下载的文件被执行,也有充分的理由相信,因为它有助于维护 Linux 计算机的安全性。大多数 Linux 发行版具有一个值为 022 的 umask 设置,这意味着,默认情况下一个新文件权限设置为 644。权限的数字表示形式采用读 (4)、写 (2)、执行 (1) 的格式。因此,默认权限为 644 的应用程序下载意味着文件所有者有读写权限,而组用户和其他用户只有读权限。例如,为每个人赋予一个文件的执行权限,使用 chmod a+x 命令。a 表示所有人,加号 (+) 表示添加,而 x 表示执行。同样地,如果应用程序是一个服务器服务,您应该确保只有授权帐户才有权执行此服务。如果一个应用程序能够在标准用户帐户权限下运行,但只有特定组中的用户才需要使用它,您可以将该组所有者权限设置为可执行,然后将这些用户添加到该组中。更具体地说,您可以在一个可执行文件中设置访问控制列表 (ACL) 权限,赋予特定用户或组权限来运行该应用程序。

晕了,你怎么这样装

很明显/usr/local/bin/va_demo_115/usr/local/lib/目录下有一些运行你这个程序所需要的库文件。

正常情况下,你应该是把你的这个程序直接装到/usr/local/lib/目录下,这样就不会有问题了。

解决办法,把你的程序重新移到/usr/local/lib目录下吧:

#cp -rv /usr/local/bin/va_demo_115/usr/local/lib/ /usr/local/lib/

开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rclocal文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rclocal文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。

下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。

1.进入pc机的Linux *** 作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的helloc文件和编译生成的可执行文件。

2.在/nfs/usr/lz/hello下通过vi helloc命令新建helloc文件,编辑如下测试程序:

#include <stdioh>

int main(){

printf("Hello,test arm-linux!\n");

return 0;

}

完成编辑后通过:wq保存后退出。

3.主机通过如下命令交叉编译环境编译helloc:

#arm-linux-gcc –o hello helloc

4.通过ls 命令可以看到在/nfs/usr/lz/hello/下已经生成了hello可执行文件,我们可以在开发板上通过/hello来测试自己编写的helloc执行情况

5.修改rclocal文件,在文件的最后通过‘#’释掉启动图形界面的指令,增加执行用户应用程序hello的指令,具体实现如下:

#export PATH=$QPEDIR/bin:$PATH

#qtopia

#/usr/qtopia/bin/qtopia

/usr/lz/hello//hello

注:前三行是注释掉启动图形界面,最后一行是添加的执行用户的hello测试程序。

6.重启开发板,通过vivi参数配置让开发板通过nfs挂载主机上的文件系统,这时我们就可以通过超级终端看到开发板已经运行了我们编写的hello程序。

你先去学基础知识就行了,如果你不想学,那就最好改用 for windows 的版本……

1、你在开始菜单里面找不到的程序,当然要用终端来运行,其实,可以用运行解决。印象里打开运行菜单的快捷键是 alt + f2 。你的开始菜单上面或许也有运行的功能,和 Windows 的开始菜单,运行的作用一样,但 Linux 这个运行功能更多一些(看你用什么窗口管理器了)。

Linux 的程序是按照每个文件不同的性质放在不同的目录里。这样程序之间的调用会方便很多,而且这也是 POSIX 定义的规范。可以保证很好的兼容性。

所以你没有必要去找程序装在了什么地方。直接运行就行了,系统会帮你找到需要的东西。

2、因为 Linux 的程序可以不可以执行,要看他是不是可以“运行”,这是一个权限设置,没有这个权限,就算他真的是个程序也不行。有这个权限的文件就算不是程序,也可以运行,只不过系统运行他会出错而实际上不能运行(能运行的程序有特殊结构的)。

3、看你的是 KDE 还是 GNOME 了,都有菜单管理器。印象里都是开始菜单上右键都有这个程序的启动项。

PS:Linux 下面用终端运行程序,关掉终端会一同关掉运行的程序是因为,Linux 下面,被终端运行的程序会成为终端的子进程。子进程在父进程关闭而子进程没有经过特殊设置的时候,会被同时关闭。这是系统的默认设置。应该是一种保证系统资源稳定的设计,防止父进程已经退出,但子进程还在运行等父进程消息的这种情况,这样很浪费系统资源。这种情况是服务器杀手,直接可以拖死服务器。

执行程序时,首先要确保该程序有执行权限,使用chmod a+x 文件名可以添加执行权限。

对于gcc生成的c语言程序,可以直接在程序所在的文件夹下执行 /script_name -i input1 input2 -o output

以上就是关于Linux系统管理:如何执行在Linux上运行的应用程序全部的内容,包括:Linux系统管理:如何执行在Linux上运行的应用程序、linux下程序的运行问题、2440 linux 如何在文件系统启动后自动运行我的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存