这里是Linux新手.

我有一个perl脚本,它接受两个命令行输入.我试图在后台运行它,但我得到的是:

[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
[2] 19603
[~user]$ nohup: appending output to `nohup.out'

系统返回"nohup:appending output to`nohup.out'"后,不会出现新的提示.然后,只要我输入其他命令,shell就会告诉我进程已停止:

[~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
[2] 19603
[~user]$ nohup: appending output to `nohup.out'
ls
ascii_loader_script.pl  format_wrds_trd.txt  nohup.out  norm_wrds_trd.cfg
[2]+  Stopped                 nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv

我看过这篇文章,并试图在执行命令之前执行"sudo date".还是一样.

推荐答案

imho,这里的问题不是nohup,而是后台处理sudo.

您正在将进程置于后台(命令末尾),但sudo可能需要密码验证,这就是进程停止的原因.

试试下面的一个:

1) 从命令末尾删除符号,回复passord提示符,并将其置于后台(通过键入CTRL-Z-停止进程并发出bg命令将其发送到后台)

2) 将/etc/sudoers更改为不询问用户密码,方法是包含以下行:

如果除了密码回复之外,您的应用程序还等待其他输入,那么您可以通过以下方式将输入传输到命令:

Linux相关问答推荐

为什么Read()和cin.get()对输出缓冲区的影响不同?

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

无法分析nasm中的单词

如何过滤 Bash 的正则表达式(Linux)中的所有值,除了一个?

SessionNotCreatedException:无法启动新会话.响应代码 500 在远程服务器上的 Apache Tomcat/10.0.23 上使用 ChromeDriver

什么命令用于在linux中创建或修改具有指定文件大小的多个文件

如何使用 shell 脚本查找具有最大上下文长度的行号?

我需要 -D_REENTRANT 和 -pthreads 吗?

如何使用不同的出口 IP 一次运行多个 Tor 进程?

Linux C程序:如何找到函数所属的库

Bash 命令 :(){ :|:& };: 将产生进程导致内核死亡.你能解释一下语法吗?

exec 系统调用(如 exec 和 execve)系列的功能有什么区别?

自动化 Amazon EBS 快照 任何人在 linux 上都有一个好的脚本或解决方案

为什么`du`的输出通常与`du -b`如此不同

C++:使用 longjmp 和 setjmp 安全吗?

Shell 脚本, echo 消息后在同一行读取

如何从 Linux 内核模块的 init_module 代码创建设备 node ?

Linux 守护进程

更改 /etc/profile 后,我需要做什么来重置我的 shell?

Ionic android 构建错误 - 找不到ANDROID_HOME环境变量