Linux 技巧:让进程在后台可靠运行的几种方法 - XiZi's Blog

Linux 技巧:让进程在后台可靠运行的几种方法

Xizi posted @ 2013年4月07日 19:17 in 未分类 , 1749 阅读

[转自IBM]http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

 

我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。

nohup/setsid/&

场景:

如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?

hangup 名称的来由

在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连接时,就会给终端发送 hangup 信号来通知其关闭所有子进程。

解决方法:

我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。

1. nohup

nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下 nohup 的帮助信息:

NOHUP(1)                        User Commands                        NOHUP(1)

NAME
       nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION

DESCRIPTION
       Run COMMAND, ignoring hangup signals.

       --help display this help and exit

       --version
              output version information and exit 

可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename 2>&1"来更改缺省的重定向文件名。


nohup 示例


                
[root@pvcent107 ~]# nohup ping www.ibm.com &
[1] 3059
nohup: appending output to `nohup.out'
[root@pvcent107 ~]# ps -ef |grep 3059
root      3059   984  0 21:06 pts/3    00:00:00 ping www.ibm.com
root      3067   984  0 21:06 pts/3    00:00:00 grep 3059
[root@pvcent107 ~]#	 

2。setsid

nohup 无疑能通过忽略 HUP 信号来使我们的进程避免中途被中断,但如果我们换个角度思考,如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。让我们先来看一下 setsid 的帮助信息:

SETSID(8)                 Linux Programmer’s Manual                 SETSID(8)

NAME
       setsid - run a program in a new session

SYNOPSIS
       setsid program [ arg ... ]

DESCRIPTION
       setsid runs a program in a new session. 

可见 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可。


setsid 示例


                
[root@pvcent107 ~]# setsid ping www.ibm.com
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root     31094     1  0 07:28 ?        00:00:00 ping www.ibm.com
root     31102 29217  0 07:29 pts/4    00:00:00 grep www.ibm.com
[root@pvcent107 ~]#   

值得注意的是,上例中我们的进程 ID(PID)为31094,而它的父 ID(PPID)为1(即为 init 进程 ID),并不是当前终端的进程 ID。请将此例与nohup 例中的父 ID 做比较。

3。&

这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。

当我们将"&"也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的。让我们来看看为什么这样就能躲过 HUP 信号的影响吧。


subshell 示例


                
[root@pvcent107 ~]# (ping www.ibm.com &)
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root     16270     1  0 14:13 pts/4    00:00:00 ping www.ibm.com
root     16278 15362  0 14:13 pts/4    00:00:00 grep www.ibm.com
[root@pvcent107 ~]#   

从上例中可以看出,新提交的进程的父 ID(PPID)为1(init 进程的 PID),并不是当前终端的进程 ID。因此并不属于当前终端的子进程,从而也就不会受到当前终端的 HUP 信号的影响了。

 

disown

场景:

我们已经知道,如果事先在命令前加上 nohup 或者 setsid 就可以避免 HUP 信号的影响。但是如果我们未加任何处理就已经提交了命令,该如何补救才能让它避免 HUP 信号的影响呢?

解决方法:

这时想加 nohup 或者 setsid 已经为时已晚,只能通过作业调度和 disown 来解决这个问题了。让我们来看一下 disown 的帮助信息:

disown [-ar] [-h] [jobspec ...]
	Without options, each jobspec is  removed  from  the  table  of
	active  jobs.   If  the -h option is given, each jobspec is not
	removed from the table, but is marked so  that  SIGHUP  is  not
	sent  to the job if the shell receives a SIGHUP.  If no jobspec
	is present, and neither the -a nor the -r option  is  supplied,
	the  current  job  is  used.  If no jobspec is supplied, the -a
	option means to remove or mark all jobs; the -r option  without
	a  jobspec  argument  restricts operation to running jobs.  The
	return value is 0 unless a jobspec does  not  specify  a  valid
	job.

可以看出,我们可以用如下方式来达成我们的目的。

灵活运用 CTRL-z

在我们的日常工作中,我们可以用 CTRL-z 来将当前进程挂起到后台暂停运行,执行一些别的操作,然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台)继续运行。这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。
  • disown -h jobspec 来使某个作业忽略HUP信号。
  • disown -ah 来使所有的作业都忽略HUP信号。
  • disown -rh 来使正在运行的作业忽略HUP信号。

需要注意的是,当使用过 disown 之后,会将把目标作业从作业列表中移除,我们将不能再使用jobs来查看它,但是依然能够用ps -ef查找到它。

但是还有一个问题,这种方法的操作对象是作业,如果我们在运行命令时在结尾加了"&"来使它成为一个作业并在后台运行,那么就万事大吉了,我们可以通过jobs命令来得到所有作业的列表。但是如果并没有把当前命令作为作业来运行,如何才能得到它的作业号呢?答案就是用 CTRL-z(按住Ctrl键的同时按住z键)了!

CTRL-z 的用途就是将当前进程挂起(Suspend),然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec 来将它放入后台并继续运行。需要注意的是,如果挂起会影响当前进程的运行结果,请慎用此方法。


disown 示例1(如果提交命令时已经用“&”将命令放入后台运行,则可以直接使用“disown”)


                
[root@pvcent107 build]# cp -r testLargeFile largeFile &
[1] 4825
[root@pvcent107 build]# jobs
[1]+  Running                 cp -i -r testLargeFile largeFile &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile
root      4825   968  1 09:46 pts/4    00:00:00 cp -i -r testLargeFile largeFile
root      4853   968  0 09:46 pts/4    00:00:00 grep largeFile
[root@pvcent107 build]# logout   


disown 示例2(如果提交命令时未使用“&”将命令放入后台运行,可使用 CTRL-z 和“bg”将其放入后台,再使用“disown”)


                
[root@pvcent107 build]# cp -r testLargeFile largeFile2

[1]+  Stopped                 cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# bg %1
[1]+ cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# jobs
[1]+  Running                 cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile2
root      5790  5577  1 10:04 pts/3    00:00:00 cp -i -r testLargeFile largeFile2
root      5824  5577  0 10:05 pts/3    00:00:00 grep largeFile2
[root@pvcent107 build]#   

 

screen

场景:

我们已经知道了如何让进程免受 HUP 信号的影响,但是如果有大量这种命令需要在稳定的后台里运行,如何避免对每条命令都做这样的操作呢?

解决方法:

此时最方便的方法就是 screen 了。简单的说,screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。screen 的参数很多,具有很强大的功能,我们在此仅介绍其常用功能以及简要分析一下为什么使用 screen 能够避免 HUP 信号的影响。我们先看一下 screen 的帮助信息:

SCREEN(1)                                                           SCREEN(1)

NAME
       screen - screen manager with VT100/ANSI terminal emulation

SYNOPSIS
       screen [ -options ] [ cmd [ args ] ]
       screen -r [[pid.]tty[.host]]
       screen -r sessionowner/[[pid.]tty[.host]]

DESCRIPTION
       Screen  is  a  full-screen  window manager that multiplexes a physical
       terminal between several  processes  (typically  interactive  shells).
       Each  virtual  terminal provides the functions of a DEC VT100 terminal
       and, in addition, several control functions from the  ISO  6429  (ECMA
       48,  ANSI  X3.64)  and ISO 2022 standards (e.g. insert/delete line and
       support for multiple character sets).  There is a  scrollback  history
       buffer  for  each virtual terminal and a copy-and-paste mechanism that
       allows moving text regions between windows.	

使用 screen 很方便,有以下几个常用选项:

  • screen -dmS session name 来建立一个处于断开模式下的会话(并指定其会话名)。
  • screen -list 来列出所有会话。
  • screen -r session name 来重新连接指定会话。
  • 用快捷键CTRL-a d 来暂时断开当前会话。

screen 示例


                
[root@pvcent107 ~]# screen -dmS Urumchi
[root@pvcent107 ~]# screen -list
There is a screen on:
        12842.Urumchi   (Detached)
1 Socket in /tmp/screens/S-root.

[root@pvcent107 ~]# screen -r Urumchi	 

当我们用“-r”连接到 screen 会话后,我们就可以在这个伪终端里面为所欲为,再也不用担心 HUP 信号会对我们的进程造成影响,也不用给每个命令前都加上“nohup”或者“setsid”了。这是为什么呢?让我来看一下下面两个例子吧。


1. 未使用 screen 时新进程的进程树


                
[root@pvcent107 ~]# ping www.google.com &
[1] 9499
[root@pvcent107 ~]# pstree -H 9499
init─┬─Xvnc
     ├─acpid
     ├─atd
     ├─2*[sendmail]	
     ├─sshd─┬─sshd───bash───pstree
     │       └─sshd───bash───ping
            

我们可以看出,未使用 screen 时我们所处的 bash 是 sshd 的子进程,当 ssh 断开连接时,HUP 信号自然会影响到它下面的所有子进程(包括我们新建立的 ping 进程)。


2. 使用了 screen 后新进程的进程树


                
[root@pvcent107 ~]# screen -r Urumchi
[root@pvcent107 ~]# ping www.ibm.com &
[1] 9488
[root@pvcent107 ~]# pstree -H 9488
init─┬─Xvnc
     ├─acpid
     ├─atd
     ├─screen───bash───ping
     ├─2*[sendmail]	

而使用了 screen 后就不同了,此时 bash 是 screen 的子进程,而 screen 是 init(PID为1)的子进程。那么当 ssh 断开连接时,HUP 信号自然不会影响到 screen 下面的子进程了。

 

总结

现在几种方法已经介绍完毕,我们可以根据不同的场景来选择不同的方案。nohup/setsid 无疑是临时需要时最方便的方法,disown 能帮助我们来事后补救当前已经在运行了的作业,而 screen 则是在大批量操作时不二的选择了。

 
Avatar_small
seo 说:
2021年12月05日 09:39

Whenever I find myself in need of hard copies or any kinds of prints, I always look for https://www.digitekprinting.com/coroplast-signs. Their services provides high quality products and what really makes them special is their consistency and reliabilty especially whenever you need them the most. You must try their services!

Avatar_small
faddy 说:
2022年4月30日 21:42

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. NFT art

Avatar_small
dark web/deep web/d 说:
2022年8月21日 00:44

Check for testimonials or reviews from satisfied customers and do some background research on the company to make sure there aren't any shady dealings going on. dark web links

Avatar_small
dark web/deep web/d 说:
2022年8月21日 01:45

So are there really reliable sites where you can find dark web links and make money? The answer is yes but proceed with caution. deep web

Avatar_small
dark web/deep web/d 说:
2022年8月21日 02:06

However, the truth is that there is no such thing as easy ways of making money on the Internet. And one should be very careful when choosing a program to join in order not to get scammed and lose their hard-earned money. dark web sites

Avatar_small
dark web/deep web/d 说:
2022年8月21日 02:31

However, it's not a guarantee that you will get links from these directories and hence, you might have to pay for the links that you have provided. dark web links

Avatar_small
dark web/deep web/d 说:
2022年8月21日 02:50

This will also reduce the chances of getting more visitors to your website. You can always look for link brokers and make use of their services but if you do it by yourself, you may not be able to maintain the quality of links. dark web

Avatar_small
dark web/deep web/d 说:
2022年8月21日 03:06

If you are going to learn how to succeed with affiliate marketing, the first thing you need to do is find an area of interest.  work from home jobs

Avatar_small
dark web/deep web/d 说:
2022年8月21日 03:25

Once you have found sellers of these items, it will be necessary for you to arrange some sort of payment system so that your site visitors will be able to readily purchase the products or services you have chosen. affiliate marketing success

Avatar_small
great post to read 说:
2022年8月27日 23:26

i prefer wall clocks with hanging pendulums because they look nice at home., <a href="http://annoyed1heal.com/">annoyed1heal.com</a>

Avatar_small
DDD 说:
2022年8月30日 22:40

Quite nice post. I recently discovered your blog and also wished to point out that I have truly cherished searching the blog site articles. All things considered I’ll be subscribing to the feed and I we do hope you create once again quickly!alongnovember.com

Avatar_small
sghsesf 说:
2022年9月10日 01:20

I have not checked in here for a while as I thought it was getting boring, but the last several posts are great quality so I guess I?ll add you back to my daily bloglist. You deserve it my friend halo thc carts

Avatar_small
rehman 说:
2022年9月14日 21:16

Allianz packers and Movers leading Packers and Movers Pune. Allianz packers and Movers bring security, quality, time-saving, and a wide variety in their moving ... Packers and Movers Mumbai to Ghaziabad

Avatar_small
wddfgeew 说:
2022年9月17日 02:14

Some states also require designers to pass an exam before they can earn their professional license. With the right education and experience, you can start your own interior design business or pursue a career with an established firm. How to become an Interior Designer

Avatar_small
asass 说:
2022年9月26日 23:38

Regards for this post, I am a big big fan of this site would like to go on updated. screen recorder

Avatar_small
rehman 说:
2022年10月01日 01:52

We buy and scrap passenger cars, car fleets, and post-leasing cars. We also offer road assistance and a tow truck 24 hours a day throughout Silesia. skup aut Suwałki

Avatar_small
rehman 说:
2022年10月05日 04:03

You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant! Antenne antivol Maroc

Avatar_small
HASNAIN 说:
2022年10月11日 01:27

The extremely nice thing with regards to the The best Commenters widget created into the NoFollow Cost-free plugin would be the reality which you can set the volume of commenters who make the checklist. Fly-by single-comment spammers may not be rewarded with do-follow backlinks or regarded, however they do opt in to your newsletter. Your loyal guests are are subsequently rewarded. skmbet

Avatar_small
MAHMISHAL 说:
2022年10月15日 01:18 The examples below is definetly for instance glimmer brilliant. Each one of these insignificant issues are built utilizing wide variety of cornerstone knowledge. I spend time these folks a great deal. ทางเข้าแทงบอลUFA
Avatar_small
rehman 说:
2022年10月15日 02:48

Them believes altogether best suited. Every one of lesser areas ended up being built by lots of track record instruction. I like the necessary paperwork a good deal. เว็บแทงบอลUFA

Avatar_small
MAHMISHAL 说:
2022年10月15日 21:45

I exactly got what you mean, thanks for posting. And, I am too much happy to find this website on the world of Google. พนันฟุตบอลออนไลน์UFA

Avatar_small
rehman 说:
2022年10月16日 01:37

The appearance efficiently excellent. Every one of these miniscule information and facts will be designed working with wide range of track record practical experience. I like it a lot. ทดลองแทงบอลUFA

Avatar_small
HASSANI`` 说:
2022年10月18日 03:46

It's at the same time a decent place which i extremely savored browsing. Isn't day to day that provide the prospect to observe an item. http://www.3staronline.com/

Avatar_small
MAHMISHAL 说:
2022年10月18日 20:08

PEAKERR provides Best SMM Panels Services & Cheap SMM Panel Services In The World. For Youtube Views Panel, TikTok Services Panel, Facebook Services Panel, Instagram Services Panel, And Many More, We Are Providing All Services At Cheap Rates For Reseller SMM Panels. Resell Our SMM Services And Make Money Online. We Have Many Free SMM Panel Services & Give You Some Test Funds For Check Our Services Quality. We Always Try to Provide High-Quality Services At a Cheap Rate. Check: https://peakerr.com cheapest smm panel

Avatar_small
MAHMISHAL 说:
2022年10月20日 00:47

You will find dissertation online sites via internet settle purchase not surprisingly well-known while in the web pages. wall mural

Avatar_small
JACVK22 说:
2022年10月20日 06:31

I cannot wait to dig deep and kickoff utilizing resources that I received from you. Your exuberance is refreshing. write essay for me

Avatar_small
WALEED 说:
2022年11月08日 02:58

J’ai la possibilité de vous en transférer les sites pour d’autres d’échantillons à propos de cet idée. Joignez moi ici! see here now

Avatar_small
wddfgeew 说:
2023年3月23日 21:49

As much as I dislike “Independence Day”, at least you got a good idea of what the aliens looked like in the famous autopsy scene. Europe sex doll

Avatar_small
a course in miracles 说:
2023年4月11日 03:48 I can’t believe focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material without a doubt. It is one of the greatest contents. free credit card machine for small business
Avatar_small
a course in miracles 说:
2023年6月13日 19:12

I am very much pleased with the contents you have mentioned. I wanted to thank you for this great article. white label merchant acquiring

Avatar_small
hasnain 说:
2023年6月14日 10:04

You will discover obviously quite a lot of details like that to take into consideration. That´s a great point to bring up. I will offer you the thoughts above as general inspiration but clearly you will discover questions like the one you bring up where the most important factor definitely will be working in honest very good faith. I don´t know if greatest practices have emerged around things like that, but I am certain that your job is clearly identified as a fair game. 꽁머니사이트

Avatar_small
hasnain 说:
2023年6月19日 09:37

I don’t know if it’s just me or if perhaps everyone else encountering problems with your blog. It seems like some of the written text within your content are running off the screen. Can someone else please provide feedback and let me know if this is happening to them as well? This could be a problem with my internet browser because I’ve had this happen previously. Many thanks 딩동댕토토

Avatar_small
a course in miracles 说:
2023年6月27日 06:06

The extremely quite possibly a decent deal that in actual fact extremely savored perusing. Isn't really usual that have the option to check a given idea. white label payment solution

Avatar_small
hasnain 说:
2023年6月30日 11:56

Ben je op zoek naar een high-end gaming pc zonder de hoge prijskaartjes die daar meestal aan verbonden zijn? Dan ben je op de juiste plek beland! Supersnelle refurbished gaming computers, uitgerust met een Intel I7 processor en Windows 11pro, zijn te koop voor een fractie van de originele prijs. Deze computers zijn perfect voor iedereen die veel eist van hun gaming ervaring en daarbij ook nog eens waarde hecht aan het milieu. Bijvoorbeeld omdat Supersnelle computers deze pc's opknapt en een nieuw leven geeft, terwijl het ook nog eens is uitgerust met een snelle SSD. Wacht niet langer en investeer in een geweldige gaming ervaring, zonder je zorgen te hoeven maken over de hoge kosten! Best geteste Gaming computers 2023

Avatar_small
a course in miracles 说:
2023年6月30日 20:25 Hi, I find reading this article a joy. It is extremely helpful and interesting and very much looking forward to reading more of your work. white label payment processor
Avatar_small
hasnain 说:
2023年7月02日 12:08

Considerably, the post is really the greatest on this worthy topic. I agree with your conclusions and can eagerly look forward to your future updates. Simply just saying thanks can not simply be sufficient, for the fantasti c clarity in your writing. I will perfect away grab your rss feed to stay abreast of any updates. Genuine work and also much success in your business dealings! 토토사이트

Avatar_small
a course in miracles 说:
2023年7月06日 06:45

I visit your blog regularly and recommend it to all of those who wanted to enhance their knowledge with ease. The style of writing is excellent and also the content is top-notch. Thanks for that shrewdness you provide the readers! xet nghiem nipt tai ha noi

Avatar_small
a course in miracles 说:
2023年7月16日 03:54 Thanks for the recommendations you have contributed here. Something important I would like to express is that personal computer memory demands generally increase along with other advancements in the technology. For instance, when new generations of cpus are brought to the market, there is usually a similar increase in the dimensions preferences of both the pc memory as well as hard drive room. This is because the software operated by way of these processor chips will inevitably increase in power to make use of the new technology. acheter saxenda
Avatar_small
hasnain 说:
2023年7月18日 01:18

Thanks for writing such a good article, I stumbled onto your blog and read a few post. I like your style of writing... 바이낸스토토

Avatar_small
a course in miracles 说:
2023年7月19日 02:45 Your blog is one of a kind, i love the way you organize the topics.:’-”‘ 辦公室搬運
Avatar_small
a course in miracles 说:
2023年7月22日 22:41

You know your projects stand out of the herd. There is something special about them. It seems to me all of them are brilliant! 메이저사이트

Avatar_small
a course in miracles 说:
2023年7月24日 02:45 We are providing world top beautiful, healthy, cute little tea cup Male and Female puppies. Explore the many types cute little puppies and dog breeds cute little tea cup puppies
Avatar_small
a course in miracles 说:
2023年7月25日 03:55

I just thought it may be an idea to post incase anyone else was having problems researching but I am a little unsure if I am allowed to put names and addresses on here. 스포츠토토

Avatar_small
a course in miracles 说:
2023年7月27日 04:10

Thanks for the points you have provided here. Yet another thing I would like to say is that personal computer memory demands generally rise along with other advances in the technologies. For instance, whenever new generations of cpus are introduced to the market, there is usually a corresponding increase in the size calls for of both the computer system memory plus hard drive room. This is because software program operated simply by these processor chips will inevitably boost in power to benefit from the new know-how. the broadway

Avatar_small
hasnain 说:
2023年8月03日 04:00

I just couldn’t depart your site prior to suggesting that I extremely enjoyed the standard information an individual provide for your visitors? Is gonna be back frequently in order to inspect new posts 토토사이트 순위

Avatar_small
a course in miracles 说:
2023年8月03日 20:22 This is really on top of that a truly decent advertisment you honestly professional exploring because of. It will be far away from regularly now we have hazard to look into something. cal機program
Avatar_small
ae 说:
2023年8月10日 00:02

Emotional attention, self-control, approval, adhere to, patience but also security. These are typically among the issues that Tang Soo Can do, most of the Thai martial art attached to self defense purposes, can show buyers plus instilling in your soul the means not just to maintain with your own eyes on the competency on the very first real danger stains to cure confrontation all in all. 英國樓市

Avatar_small
ae 说:
2023年8月15日 06:00

I discovered your blog site web site on the search engines and appearance a few of your early posts. Preserve the excellent operate. I simply extra your Feed to my MSN News Reader. Seeking forward to reading much more from you afterwards!… casinostars.se

Avatar_small
ae 说:
2023年8月18日 06:50

When I visit this site there’s new things and improved will be able to study from. Haha I’ve experienced your source code too many times to master how you’re doing things so we could wear them my site. Thanks! I can teach you about methods to easy. merchant services agent

Avatar_small
wddfgeew 说:
2023年8月19日 19:01

I enjoy every little bit of it. It is a great website and a nice share. I want to thank you. Good job! You guys do a great blog and have some great content. Keep up the good work. bosbobet88

Avatar_small
ae 说:
2023年8月22日 07:52

I have been browsing on-line more than three hours these days, yet I by no means found any interesting article like yours. It¡¦s beautiful worth sufficient for me. In my opinion, if all website owners and bloggers made excellent content as you probably did, the net will likely be much more helpful than ever before. how to start a merchant services company

Avatar_small
ae 说:
2023年8月23日 02:10

The article looks magnificent, but it would be beneficial if you could share more about the suchlike subjects in the future. Keep posting. starting a merchant services company

Avatar_small
ae 说:
2023年8月26日 01:23 It is truly well-researched content and excellent wording. I got so engaged in this material that I couldn’t wait reading. I am impressed with your work and skill. Thanks. alo 789.com
Avatar_small
ae 说:
2023年8月26日 01:24

It is truly well-researched content and excellent wording. I got so engaged in this material that I couldn’t wait reading. I am impressed with your work and skill. Thanks. alo 789.com

Avatar_small
ae 说:
2023年8月27日 19:09 Hello, I have browsed most of your posts. This post is probably where I got the most useful information for my research. Thanks for posting, maybe we can see more on this. Are you aware of any other websites on this subject? white label card machine
Avatar_small
john 说:
2023年8月30日 02:56

Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers. buy google 5 star reviews

Avatar_small
wddfgeew 说:
2023年9月10日 06:22

I would like the information posts, Help make appreciated, I might favor far more details applying this, considering it is very desirable., Bless an individual made for creating. [url=https://79king.cloud/edward-thorp-la-ai/]edward thorp là ai[/url]

Avatar_small
wddfgeew 说:
2023年9月19日 06:57

This could be moreover a terrific content my spouse and i honestly appreciated investigating. It can be by no means daily my spouse and i offer the chance to watch one thing. selling payment processing services

Avatar_small
john 说:
2023年9月26日 21:03

Buying LinkedIn accounts refers to the practice of acquiring existing LinkedIn profiles from individuals or sources. These accounts may vary in terms of connection networks, endorsements, and activity levels. It's important to note that buying LinkedIn accounts may violate LinkedIn's terms of service and can carry significant risks, such as account suspension or termination. Additionally, using purchased accounts for unethical or spammy purposes can damage your professional reputation and credibility. It's generally advisable to grow your LinkedIn network organically by connecting with genuine professionals and engaging in meaningful interactions to build a trustworthy and authentic online presence buy linkedin account with 500 connections

Avatar_small
john 说:
2023年10月05日 05:18

Wow, cool post. I'd like to write like this too - taking time and real hard work to make a great article... but I put things off too much and never seem to get started. Thanks though. nhs pay deal calculator

Avatar_small
john 说:
2023年10月13日 01:57

You make so many great points here that I read your article a couple of times. Your views are in accordance with my own for the most part. This is great content for your readers. https://www.utquantification.com

Avatar_small
john 说:
2023年11月10日 02:19

African caracals kitten for sale Caracal kittens for sale Caracal Kittens For Sale Usa Caracal Cats For Sale Buy caracal cat online caracal cat for sale

Avatar_small
john 说:
2023年11月13日 08:31

I was surfing net and fortunately came across this site and found very interesting stuff here. Its really fun to read. I enjoyed a lot. Thanks for sharing this wonderful information. Okeplay777

Avatar_small
john 说:
2023年11月14日 04:08

Oportunidad perfume can can de Paris Hilton para dama con aromas excitantes. Ideal para el dia, en la oficina, de compras o ocasion especial de donde es la marca apt 9

Avatar_small
wddfgeew 说:
2023年12月01日 21:54

very interesting post.this is my first time visit here.i found so mmany interesting stuff in your blog especially its discussion..thanks for the post! [url=https://49sresult.co.za/]lunchtime results[/url]

Avatar_small
wddfgeew 说:
2023年12月08日 01:01

Nice post. I was checking constantly this blog and I’m impressed! Extremely useful info specially the last part   I care for such information a lot. I was seeking this certain info for a long time. Thank you and good luck. fine dining bajo

Avatar_small
hasnain 说:
2023年12月22日 11:15

Rattling clean internet site , thanks for this post. chicas escorts

Avatar_small
สัตว์ป่า 说:
2023年12月27日 04:00

Thanks for every other excellent post. The place else may just anyone get that kind of info in such an ideal manner of writing? I’ve a presentation subsequent week, and I am at the look for such information.

Avatar_small
Slot Gacor 说:
2023年12月31日 03:34

A blog like yours should be earning much money from adsense.’~::-

Avatar_small
Amankhatri63 说:
2024年1月02日 08:58

First, let's kill off a genuine fabrication: You can not use a reverse cellular phone number lookup for totally free anywhere, anytime. Ufabet168

Avatar_small
john 说:
2024年1月03日 03:41

KG Entertainment is a high-end online entertainment city for Chinese people around the world and has millions of registered players. We have offices and customer service centers around the world and are licensed to operate in many gaming industry markets KG娛樂城

Avatar_small
Amankhatri63 说:
2024年1月05日 01:18

When a blind man bears the standard pity those who follow…. Where ignorance is bliss ‘tis folly to be wise…. marontoto

Avatar_small
Amankhatri63 说:
2024年1月07日 00:05

Employee relations should be given more importance in an office environment as well as on any other business establishment.. ufa356

Avatar_small
john 说:
2024年1月12日 22:09

Hi Everyone My Name is Muhammad Ibrahim I Am SEO Service Provider Of High Quality Backlinks ibmseo

Avatar_small
Amankhatri63 说:
2024年2月16日 00:45

Just like the old saying goes, within the pro’s head there are few options, however , for a person with the beginner’s brain, the world is open up. mrdeepfake

Avatar_small
SEO 说:
2024年2月29日 23:32

MusicVerter is a free SoundCloud to MP3 downloader. Download any SoundCloud song or playlist directly into an MP3 file for free with just one click. Try it now! SoundCloud Downloader - SoundCloud To MP3 Converter. <a href="https://www.musicverter.com/">https://www.musicverter.com/</a>


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee