工具/软件:Linux
大家好、我们使用"AM5728、PSDK 04_00_00_04"。
目前、我们使用 systemd 来运行我们自动开发的程序。
但是,systemd 操作有一些问题。
我想在这方面获得帮助。
1. init 失败 tcgetattr ()
我们开发的程序应从终端接收键盘输入。
但是,如果使用 systemd 执行,init 将失败,并使用 tcgetattr ()函数。
在 systemd 中使用该函数是否有限制?
如果您直接从控制台运行程序,则它可以正常工作。
直接从终端执行时没有问题。
root@am57xx-evm:/#systemctl start test.service
=>运行失败。
root@am57xx-EVM:/#./test
=>运行正常。
2. printf()调试消息输出。
当我使用 systemd 运行程序时,不会输出文本(hello world)。
这是我们的示例 systemd 服务。
test.service
========================================================================
[单位]
Description=开始测试 PG
[服务]
type=简单
ExecStart=/etc/init.d/helloworld.sh
StandardOutput=journal+console
[安装]
WantedBy=多用户目标
========================================================================
helloworld.sh
========================================================================
回声"Hello World!!!"
========================================================================
root@am57xx-evm:/#systemctl start test.service
=>没有显示消息
root@am57xx-EVM://#./helloworld.sh
大家好!!!"
请告诉我如何操作?
直接从终端执行时没有问题。
3.不能使用 init.d 进程?
我们的 init.d 仍然有用。
谢谢你。