当前位置:  技术问答>linux和unix

为什么程序一定要在终端中运行?关闭终端程序也关闭了.

    来源: 互联网  发布时间:2016-06-17

    本文导语:  用GTK写的程序有界面也只能在终端里运行,不能双击或用启动器启动,为何像linux qq,msn,emacs都可以不依赖终端运行,双击它的可执行文件就可以运行,即便是用终端把打这些程序,关闭终端后这些程序还是不受影响仍然运行...

用GTK写的程序有界面也只能在终端里运行,不能双击或用启动器启动,为何像linux qq,msn,emacs都可以不依赖终端运行,双击它的可执行文件就可以运行,即便是用终端把打这些程序,关闭终端后这些程序还是不受影响仍然运行,这叫什么?我应该怎样做?

|
终端可以看做是那些程序的父进程,
父进程关闭了,子进程也就运行不了了。

可以考虑不用终端开启你的程序, 
在运行程序菜单中输入程序名就可以了。 
这样就不需要终端了。 

Ubuntu系统打开运行程序窗口的系统快捷键为Alt+F2 

|
 nohup 命令

  用途:不挂断地运行命令。

 语法:nohup Command [ Arg … ] [ & ]

  描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。

  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

|
我试过,从终端运行的程序,会随着终端关闭,你说的EMACS也不例外,其余软件我没用过。为什么非要从终端运行呢?建议你按照二楼的办法。

|
redhat里按Alt+F1

|
另外一个办法,把你的程序做成守护进程就可以脱离终端了。调用下面的函数就能让你的程序运行成守护进程:
void init_daemon()
{
    pid_t pid;
    int i = 0;
    
    if ((pid = fork()) > 0)
exit(0);          //是父进程,结束父进程
    else if( pid  0)
exit(0);          //是第一子进程,结束第一子进程
    else if(pid 

    
 
 

您可能感兴趣的文章:

  • 终端打开应用程序,怎样使当终端退出时应用程序不退出.问了好多人,其实很简单.
  • linux终端程序时如何隐藏终端
  • SuSE Linux 下"X终端"与"终端程序-超级用户模式"有什么区别?
  • 用终端运行应用程序,怎样使终端关闭而这个程序不关闭.
  • 我用的是putty软件SSH到linux上,但启动程序后关闭终端程序就退出了,在线等,请高人指教!
  • 在一个终端运行一个执行时间很长的程序中如何让这个程序切换到后台执行?
  • 终端程序 Tilda
  • linux下观察串口的程序是哪个, 是终端吗.
  • 图形化终端程序 HTerm
  • 如何做到管理终端,程序依旧运行。
  • shell 编程 执行shell新建多个终端 并执行程序
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 使用终端远程执行程序的问题!
  • VT100-compatible 终端测试程序 vttest
  • 请问unix终端的光条式菜单程序是用什么语言开发的?谢谢
  • 有人用过centos吗?请问在centos下怎么在终端运行C语言程序或者JAVA程序?
  • 请问怎样在源程序中调用终端指令?
  • 请问如何调用命令行程序,并保持其窗口不关闭 iis7站长之家
  • 终端仿真程序 iTerm2
  • 为什么我退出终端以后 程序自己就停了呢?
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • 关闭putty(SSH程序)后如何让程序还在redhat上运行?
  • Jbuilder7退出和关闭时,程序没有响应,是何缘故?
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行
  • GTK: 如何关闭窗口而不用退出主程序?
  • 请问如何调用命令行程序,并保持其窗口不关闭
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • 关于如何关闭应用程序的问题。
  • 请问:你们的程序都怎样关闭数据库?是在每次出现异常的时候吗?还是在一段程序结束后?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 在LIUNIX中,在运行程序中,运行什么命令可以出现类似DOS的界面...谢谢.
  • 怎样让linux启动后不运行桌面而是直接运行某个应用程序呢?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • linux编写一个脚本判断程序是否在运行,如果没运行就重启这个软件。
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • 运行程序后程序报错说操作不允许
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • 怎么让一个程序在后台运行而不影响其他的程序的执行?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • 程序员的八种级别,你属于哪一级?
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • 在docker容器中通过apt-get安装新的程序
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3