解决nohup:忽略输⼊并把输出追加到nohup.out或者nohup:
忽略输⼊重定向错误。。。
nohup启动脚本的时候,没有指定输出路径,默认使⽤当前⽬录的nohup.out
例如下⾯这句就是默认使⽤nohup.out作为输出⽂件:
nohup script.sh &
改成下⾯的,则/dev/null作为输出⽂件(需要了解linux输出重定向):
nohup script.sh >/dev/null 2>&1 &
解决nohup: 忽略输⼊并把输出追加到"nohup.out"或者nohup:忽略输⼊重定向错误到标准输出端
2020-03-09 11:55:20 2591 收藏 2
分类专栏:⽂章标签:
解决⽅法:
执⾏nohup java -jar do_iptable.jar & 运⾏jar会提⽰:nohup: 忽略输⼊并把输出追加到"nohup.out"
执⾏nohup java -jar do_iptable.jar >/dev/null & 运⾏jar会提⽰:nohup: 忽略输⼊重定向错误到标准输出端
修改运⾏⽅式为nohup java -jar do_iptable.jar >/dev/null 2>&1 &即可。
Linux下script命令录制、回放和共享终端操作
[⽇期:2018-09-04]来源:cnblogs/f-ck-need-u 作者:骏马⾦龙[字体: ]
另⼀篇终端会话共享的⽂章:
使⽤script命令录制,使⽤scriptreplay播放录制的操作。共享终端的操作,则需要使⽤命名管道来实现。
1.1 录制
[root@xuexi ~]# cd /tmp
[root@xuexi tmp]# script -t 2> timing.log -a output.session # 开始录制
Script started, file is output.session[root@xuexi tmp]# ls # 执⾏⼀个操作:命令ls
abc.sh ab.sh index.html lost+found output.session scriptfifo test test1 timing.log vmware-root
[root@xuexi tmp]# cd /tmp/test # 再执⾏⼀个操作:命令cd[root@xuexi test]# exit # 结束录制
exit
Script done, file is output.session
其中"-t 2> timing.log"是要回放的必须选项,不加"2>"将导致开启录制后的任何输⼊都是乱码状态,不加"-t timing.log"将不能使⽤scriptrepla y来回放。timing.log记录的是每个时间段输⼊了多少字符。通过timing.log和output.session配合可以实现回放。
注意点是,录制前保证timing.log和output.session是空⽂件,否则将导致回放时操作不⼀致。
1.2 回放
[root@xuexi test]# scriptreplay timing.log output.session
如果觉得回放的速度过慢(录制时有些地⽅停顿,⽐如输⼊了⼀个命令后,隔了⼀段时间才输⼊另⼀个命令,这段时间对于回放来说显得慢很正常),可以修改timing.log⽂件。这个⽂件中分两个字段,第⼀个字段记录的是从上次输出后到该次输出的时间间隔,第⼆个字段是从ou tput.session中读取的字符数。要修改回放速度,只需将第⼀个字段较长的间隔改短⼀点就可以。但是不应该改的太短,否则回放速度过快。我觉得将间隔较长的改成0.3-0.7秒,效果还不错。
[root@xuexi ~]# cat timing.log
0.117244 16
0.007955 1
0.298074 1 # 此处将原来的2.298074改为0.3秒
0.216628 1
0.092781 1
0.081659 1
0.083258 1
0.419445 1
0.314128 1
0.100810 1
0.083998 30
0.491283 1
0.266129 1 # 此处原来也是2.266129秒,显然经过⼀次命令输出之后停顿了2秒多
0.099767 1
0.127625 1
0.078809 1
0.181493 1
0.147795 1
0.115808 1
0.077416 1
0.274658 1
0.257042 1
0.524460 4
0.297133 38
0.458018 1
0.416350 1
0.187270 1
0.125467 1
0.100756 8
1.3 终端屏幕分享
通过管道来传输信息实现。需要⼀个pipe⽂件,并在需要展⽰的终端打开这个管道⽂件。
在终端1(作为主终端,即演⽰操作的终端)上使⽤mkfifo创建管道⽂件。
[root@xuexi tmp]# mkfifo scriptfifo
[root@xuexi tmp]# ll scriptfifo
prw-r--r-- 1 root root 0 Sep 26 13:04 scriptfifo # 权限位前⾯的第⼀个p代表的就是pipe⽂件。
在终端2上打开pipe⽂件。
[root@xuexi ~]# cat /tmp/scriptfifo
在终端1上使⽤script -f开始记录操作,之后的操作将会分享在终端2上。
[root@xuexi tmp]# script -f scriptfifo
使⽤exit即可停⽌分享并退出记录⾏为。
[root@xuexi tmp]# exit
linux重定向exit
Script done, file is scriptfifo
在被分享终端上参与分享状态后将不能执⾏任何操作,执⾏的操作会被记录下来,并在主终端停⽌分享后⾃动执⾏。需要注意的是,只能给⼀个会话共享会话终端。如果多个会话cat scriptfifo ,会导致共享切开显⽰在多个不同会话上。Linux公社的RSS地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论