怎么运行Linux程序,linux查看正在运行的进程

如何执行在Linux上运行的应用程序

例如,为每个人赋予一个文件的执行权限,使用 chmod a+x命令。a表示所有人,加号(+)表示添加,而 x表示执行。同样地,如果应用程序是一个服务器服务,您应该确保只有授权帐户才有权执行此服务。

如果一个应用程序能够在标准用户帐户权限下运行,但只有特定组中的用户才需要使用它,您可以将该组所有者权限设置为可执行,然后将这些用户添加到该组中。

更具体地说,您可以在一个可执行文件中设置访问控制列表(ACL)权限,赋予特定用户或组权限来运行该应用程序。使用 setfacl实用工具设置 ACL权限。

对于这些需要以 root用户启动进程的应用程序,比如服务器服务,您有几个选择。总结了允许用户执行需要 root权限的服务器服务的各种选项。

选项描述

作为 root用户不推荐用于服务器服务。当用户已经知道 root密码而且应用程序泄露不是首要关注问题时,可用于应用程序。

SetUID由于安全问题,不推荐使用。SetUID允许标准用户以另一个用户方式,比如 root用户,执行一个文件。

sudo很常用,并且被认为是一个很好的实践。sudo授予一个用户或组成员权限以执行可能额外需要 root权限的文件。该用户不需要知道 root密码。

带有文件权限的标准用户帐户在一个文件上为用户所有者、组所有者或其他人(所有人)设置执行权限。这是授予那些不需要 root权限来执行应用程序的用户的常用方法。

带有 ACL权限的标准用户帐户使用较少,但是如果您不想授予一个用户 sudo访问或者更改文件的权限,这也是一个可行的解决方案。在一个文件上使用 setfacl命令,您可以授予一个特定用户或用户组执行该文件的权力。

从命令行运行

在管理 Linux服务器时,从命令行运行应用程序是一项基本的任务。很多应用程序使用 shell脚本(类似于 Windows批处理文件.bat)来启动应用程序并执行其他任务,比如设置变量以及为其他用户分配进程。例如,应用程序可能需要一个 Java? Virtual Machine(JVM)来执行。那样的话,shell脚本可以设置适当的环境变量,然后执行 Java命令来运行 Java Archive(JAR)或类文件。这同样适用于使用 Perl、Python、甚至 C#的应用程序。(当然,C#编译的应用程序可以在 Linux上运行)

从命令行或者 shell提示符执行应用程序的一个常用方法是使用./命令。如果您在 Linux中使用句号(。)和正斜杠(/),就意味着告诉环境您想要以可执行文件运行该文件。例如,运行一个名为 myapp的可执行文件,您可以使用./myapp命令。同样地,您可以在文件名之前加上语言环境,比如:

sh

php

python

perl

java

但更多情况下,套装应用程序使用 shell脚本,以#!符号设置环境变量提供该语言的运行时可执行路径,比如#!/usr/bin/python.您也应该熟悉这种方法。

清单 1使用 catalina.sh默认脚本通过./方法启动 Apache Tomcat应用程序服务器。然后,使用 sh方法启动服务器。因为默认端口是 8080,标准用户不需要对其进行特别修改就可以启动该服务。

清单 1.从命令行执行应用程序

考虑启动一个典型 Hypertext Transfer Protocol(HTTP) Web服务器。在 Linux中,任何低于 1024的端口被认为是一个权限端口,只有 root可以打开权限端口。因为,默认情况下,Web服务器运行于端口 80,root需要启动该进程。然而,如上所述,以 root用户运行一个服务被认为是不安全的。正确的步骤是以 root启动该服务,然后将其转移到一个标准用户或者服务帐户。

幸运的是,许多服务器服务由脚本来执行这一操作。如果您从头开始构建 Apache Web服务器,您将会发现它以 root用户启动,然后将 httpd线程转交给 apache用户。

清单 2启动一个默认的 Apache 2 Web服务器编译。安装流程也做了一些事情,包括使 apachectl命令可执行。因为该流程需要使用端口 80,使用 root用户权限启动。然而,ps命令显示 httpd流程在 apache用户帐户下运行。

清单 2.启动 Apache Web服务器

在后台运行应用程序

一些安装的软件可能不像 Apache Web服务器那样用户友好。您很可能需要在流程启动后以后台方式运行它,除非您正在进行故障排除,或者想要看看应用程序到底怎么了。如果您没有这么做,shell关闭后应用程序将终止。运行服务器服务时,可不希望每次关闭终端 shell或者退出时服务都会停止!

如果在后台运行一个应用程序,即使关闭了 shell窗口,应用程序也会继续运行。您可以通过在执行命令结尾附加一个(&)符号来启动应用程序。例如,您可以使用 vi编辑器打开文件,然后使用 vi/etc/sysconfig/network&命令在后台运行该文件,因为&可以打开/etc/sysconfig/network文件并将其保留在后台。即使在退出后,您也可以使用 nohup实用工具支持进程继续运行。例如,nohup vi/etc/sysconfig/network&.

linux下的可执行文件无法运行怎么解决

1、查看文件信息,可以看到文件是存在的,并且是可以执行的。-rwxr-xr-x 1 yuan yuan 20581 4月 29 2004 tshref

2、原因是系统位数与该可执行文件需要的lib库位数不匹配。用uname命令打印系统信息,发现系统是64位系统。

3、用file命令查看文件信息,发现是一个32位可执行文件。

4、要想在64位系统上与运行32位程序,则需要安装32位lib库。对于Ubuntu用户可以使用下面的命令安装。

5、过程中有可能找不到需要的库,但是会有几个替代包,选择安装其中一个。

6、然后就可以正常运行之前的可执行文件了。遇到这种问题其实还有可能是其他原因,例如文本的编码格式问题等。

扩展资料:

主要特性

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上

参考资料来源:百度百科-Linux

在windows系统下怎么运行脚本程序

在Windows系统下,可以通过安装Git Bash或Windows Subsystem for Linux(WSL)来运行.sh脚本文件。

Git Bash是一个基于Windows平台的Git命令行工具,它提供了Unix风格的shell环境,可以运行.sh脚本文件。安装Git Bash后,可以在任意文件夹下右键点击.sh文件,选择“Git Bash Here”,即可在Git Bash中运行脚本。另外,也可以在Git Bash中输入脚本文件的路径来运行脚本,例如:./script.sh。

Windows Subsystem for Linux(WSL)是微软为Windows 10提供的一项功能,它可以在Windows上运行Linux环境,并可以直接运行.sh脚本文件。安装WSL后,可以在Windows文件浏览器中直接打开Linux子系统,并在其中运行.sh脚本文件。

除了以上两种方法,还可以使用第三方工具,如Cygwin或MSYS2,它们也可以提供类似Unix的shell环境,以运行.sh脚本文件。

总之,在Windows系统下运行.sh脚本文件需要模拟Unix环境的命令行工具,可以通过安装Git Bash、Windows Subsystem for Linux或其他第三方工具来实现。不同的工具提供了不同的功能和特点,用户可以根据自己的需求和喜好选择适合自己的工具。同时,也需要注意不同工具的安装和使用方法,以确保正确运行.sh脚本文件。

阅读剩余
THE END